Переключить Alt и клавишу Windows, кроме случаев, когда используется внешняя клавиатура

На моем ноутбуке клавиши Alt и Windows находятся в противоположных положениях, в которых я бы предпочел их. Их замена довольно проста. Однако моя внешняя (USB) клавиатура имеет клавиши Alt и Windows в том порядке, который я предпочитаю, а это означает, что когда я переключаюсь на внешнюю клавиатуру, у меня есть неудобная клавиатура.

Есть ли какой-то способ Linux-y voodoo, который я могу вызвать, чтобы определить, поступает ли вход с внешней клавиатуры или нет, и поменяйте ли он два ключа соответственно? Если это подтолкнет его, я соглашусь найти способ обнаружить, когда подключена внешняя клавиатура. Или есть ли другие разумные решения, которые я не рассматривал?

  • Окно Xorg / Twm фокусируется только на мыши
  • Какова связь между DISPLAY: 1.0 и портом 5901
  • Как я могу накладывать линии на прозрачный, неактивный слой поверх моего экрана?
  • как связать команды типа «Ctrl + C» с одним ключом (например, «F5»)?
  • US International Keyboard Layout не ведет себя так, как ожидалось?
  • Безопасно ли запускать инструменты GPG в x11?
  • запуск экрана очищает буфер обмена x11
  • Изменить значение Startx на Slackware?
  • 2 Solutions collect form web for “Переключить Alt и клавишу Windows, кроме случаев, когда используется внешняя клавиатура”

    У вас могут быть совершенно разные настройки макета для каждой клавиатуры, которую вы подключаете; Может оказаться полезным ненадежное руководство по конфигурации xkb . В вашем случае вы можете пройти с помощью «Сделать это простым способом».

    Однако имейте в виду, что руководство было написано в то время, когда X-сервер имел файл конфигурации, который был удостоен чести. С тех пор конфигурация клавиатуры переместилась по крайней мере в HAL и снова отступила, так что небо знает, где вам нужно добавить дополнительные Options "XkbOptions" "..." когда это новая луна.

    Если все остальное терпит неудачу, и ваш X достаточно недавний, да, получите номер устройства из xinput list и вызовите setxkbmap -device ... ... , вызовите его в свой файл запуска X и, возможно, также посмотрите на udev чтобы он был уведомлен, когда это клавиатура подключена.

    Вы можете использовать xinput list для проверки внешней клавиатуры.

    Interesting Posts

    Что вы фильтруете / исключаете список при выполнении резервного копирования с помощью rsync?

    Как исправить начальное шифрование после установки нового драйвера?

    Файл политики Grsecurity для приложения

    Замените все вхождения слова в файлах, содержащихся в папке

    Создайте пользователя, который может подключаться только к определенному каталогу

    Как включить доступ к USB-устройствам у гостей VirtualBox?

    Как заставить скрипт bash выполнить определенное действие с ошибками команды _each_?

    elinks -dump не заканчивается на длинном URL-адресе

    Мост Debian не поддерживает конфигурацию IPv6

    xrandr: клон и масштаб

    Почему не установлены «нетоги» с установленным битом setuid?

    История в оболочке Almquist в NetBSD

    Доступна ли последняя версия версии Spotify linux для Fedora 25?

    Удаление старых файлов происходит медленно и «убивает» производительность ввода-вывода

    Почему Ubuntu не использует возможности для ping?

    Linux и Unix - лучшая ОС в мире.