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

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

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

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

решение1

Вы можете иметь совершенно разные настройки раскладки для каждой подключенной клавиатуры;Ненадежное руководство по настройке xkbможет быть полезным. В вашем случае, вы могли бы обойтись "Делать это легким способом" там.

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

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

решение2

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

Связанный контент