X11: поменять местами клавишу клавиатуры с кнопкой мыши

awk -v delete_regex='00-11-22-33-aa-bb' -v RS=$'\n\n' -v ORS=$'\n\n' \
    '$0 !~ delete_regex' inputfile

Можно изменить, чтобы строка поиска не интерпретировалась как регулярное выражение.

1
05.04.2020, 00:03
1 ответ

[Примечание :очевидно и преднамеренно, это не "заменяет" клавишу клавиатуры на кнопку мыши; он просто позволяет клавише клавиатуры действовать как кнопка мыши;но кнопка мыши НЕ начнет действовать как клавиша клавиатуры, в свою очередь]

xkbset m
xkbset exp =m  # keep the state unchanged after the AccessX timeout
xkbcomp "$DISPLAY" - |
  sed -e 's/ Menu / Pointer_Button3 /' -e '/interpret KP_/,/};/d' | 
  xkbcomp - "$DISPLAY"

Вы также можете назначить другую комбинацию клавиш для переключения элементов управления MouseKeys. Например. сShift-Menu:

xkbcomp "$DISPLAY" - |
  sed -e 's/ Menu \| Pointer_Button3 / Pointer_Button3, MouseKeys_Enable /' -e '/interpret KP_/,/};/d' |
  xkbcomp - "$DISPLAY"

Это предполагает, что клавиша Menuеще не была привязана к чему-то другому.

Вместо xbksetи xkbcompвы можете легко написать небольшую программу, которая будет делать то же самое (все операции, которые они делают, могут выполняться любым обычным клиентом X11 ).

Как интегрировать это со злобными "средами рабочего стола" (, которые сами изменяют настройки xkb на основе своих собственных правил ), остается читателю в качестве упражнения.

1
28.04.2021, 23:18

Теги

Похожие вопросы