У меня есть файл ~ / .speedswapper, который содержит следующее:
! Swap caps lock and escape
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
... когда я бегу xmodmap ~/.speedswapper
, это переключает escи Caps Lockключи. У меня есть эта строка в моем ~ / .profile, так что при каждом входе в систему эти ключи переключаются.
Однако , если я подключу внешнюю клавиатуру USB, эта настройка, похоже, не будет сохраняться. Клавиатура моего ноутбука работает отлично, но мне нужно снова запустить команду, чтобы внешняя клавиатура переключила две клавиши. К счастью, это не влияет на клавиатуру моего ноутбука - они синхронизируются.
Одним из решений было бы найти какой-нибудь способ запуска этой команды xmodmap всякий раз, когда подключена внешняя клавиатура, но я был бы открыт для другого решения по переключению клавиш, если оно будет более устойчивым. ОС Ubuntu 13.04.
Учитывая только что прокомментированный комментарий, похоже, что этого можно достичь, написав правило udev - я думаю, что мне нужно использовать опцию RUN, и что он должен быть запущен на / dev / hidraw0 или / dev / hidraw1, которые являются устройствами, которые появляются, когда я подключаю свою клавиатуру ... но я все еще пытаюсь обернуть голову вокруг концепции, поэтому я был бы благодарен за любую помощь от кого-то, кто знает, что они делают с udev