Как превратить непривязываемый ключ в привязываемый?

Как превратить непривязываемый ключ в привязываемый?

Я говорю о Menu(код клавиши = 135) (она же правый клик), я им не пользуюсь

Поэтому я отключил его.контекстное менюдействие с инструментом Xmodmap, теперь он не открывает меню и все еще работает для сочетаний клавиш*

Также отключено повторение xset -r 135(поскольку такие клавиши Ctrl не повторяются, пока они нажаты)

* Но проблема в том, что я не могу объединить его с другими ключами, например, how Ctrl, Shiftи Altdoes.

Например, я могу создать сочетание клавиш типа Shift+ Alt+ S, но я не могу сделать что-то подобное с Menu+somekey, оно не связывается с другими клавишами. Я могу создавать "аккорды" клавиш, но это не то, что я ищу.

Похоже, я не смогу сделать это с Xmodmap :/

Если вы запустите, xev -event keyboardто увидите, что меняется при нажатии таких клавиш, как Ctrl, Shiftи Altэтоstateзначение, оно идет отstate 0x0при нажатии, чтобыstate 0x4(В случае Ctrl L) при освобождении. Этого не происходит с Menuключом и другими не привязываемыми ключами, все они остаются вstate 0x0, может быть в этом проблема?

Как мне решить эту проблему?

Спасибо

решение1

Вы неправильно понимаете клавиши-модификаторы.

Вы можете увидеть свои модификаторы с помощью xmodmap.

Menuне является модификатором по умолчанию, несмотря на то, что он может вызывать некоторые контекстные меню, такие как F10(в зависимости от используемого вами программного обеспечения).

Когда вы видите state 0x0в выводе xev, что он эффективно связан с модификатором, нажмите несколько модификаторов одновременно, и вы увидите их суммирование.

Эффективно xmodmapне позволит вам создать то, что вы хотите. Теперь вы можете эффективно попытаться добавить Menuв свою карту модификаторов допустимое имя модификатора и изменить свою xkbкарту, чтобы гарантировать, что она все еще будет отправлять keysym... но это не элегантно.

Позвольте мне вместо этого предложить использовать программное обеспечение под названием xcape(есть и другие, совместимые с Wayland) для эмуляции модификатора Hyper_R(например, если вы добавите его в свою карту модов) на этой клавише при нажатии в сочетании с другими клавишами и Menuпри нажатии отдельно.

Документация xcapeдействительно проста в выполнении таких изменений.

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