Я поменял местами Левый Ctrl kbd> и Caps Lock kbd>, создав ~ / .Xmodmap
keycode 66 = Control_L
keycode 37 = Caps_Lock
clear Lock
clear Control
add Lock = Caps_Lock
add Control = Control_L Control_R
и затем запустив Однако, когда требуется несколько клавиш-модификаторов (например, Alt kbd> + Ctrl kbd> + I kbd>), это работает, только если я нажимаю Alt kbd> в первую очередь. Если я сначала нажму клавишу Caps Lock kbd>, эффект не будет. Я могу сбросить раскладку клавиатуры с помощью Я также обнаружил, что даже для комбинаций с одним модификатором мне приходится удерживать нажатой клавишу Caps Lock kbd> на долю секунды дольше, чем я использовал с ванильным Ctrl kbd > ключ для его регистрации. Вероятно, это порядка 0,01 секунды, но достаточно заметно, что неправильные сигналы посылаются один раз в десять. Кроме того, если я поменяю местами Ctrl kbd> и Caps Lock kbd>, используя = EDIT = Я пробовал другую клавиатуру (Das Keyboard), и кажется, что вторая проблема заключается в том, чтобы удерживать Caps Lock kbd> на доли секунды дольше, чем я делал с Ctrl kbd>, вероятно, проблема с оригинальной клавиатурой (проводная клавиатура Aluminium Apple). Тем не менее, первая проблема с несколькими модификаторами все еще присутствует. $ xmodmap ~/.Xmodmap
. Нажатие клавиши Left Ctrl kbd> работает должным образом, переключая Caps Lock kbd>. Нажатие клавиши Caps Lock kbd> в целом работает для простых ярлыков, таких как Ctrl kbd> + N. $ setxkbmap -layout us
, и вышеуказанный ярлык будет работать нормально. Если я снова запускаю $ xmodmap ~/.Xmodmap
, у меня та же проблема. $ setxkbmap -layout us -option 'ctrl:swapcaps'
, я больше не замечаю проблему с несколькими модификаторами. Тем не менее, я все еще хочу решить проблему с решением xmodmap, так как я скоро получу новую клавиатуру, и мне придется поменять Ctrl kbd> с другой клавишей. keycode 66 (keysym 0x0, NoSymbol)
, в отличие от keycode 66 (keysym 0xffe3, Control_L)
, когда Alt kbd> kbd> не удерживается .
Очевидно, что приведенный выше код xmodmap недостаточен для замены клавиш Ctrl kbd> + L kbd> и Caps Lock kbd>.
keycode 66 = Control_L
должно быть
keycode 66 = Control_L Control_L
для обеспечения правильной функциональности при нажатии Ctrl kbd> после другого модификатора. Я не могу найти хороших ссылок на это решение, но , по-видимому, вторая запись относится к Shift kbd> + Key kbd>. Я не уверен, почему здесь это также относится к Alt kbd> + Key kbd>.
(Кроме того, FWIW, другие источники утверждают, что существует до восьми столбцов, а не шесть, упомянутых в ссылке.)