Повторно присвойте Ctrl и клавиши Alt - ошибка xmodmap 'BadValue'

Скобки вокруг || и && не требуются, поскольку они правоассоциативные. Следующие два выражения эквивалентны:

expr1 || expr2 && expr3
expr1 || { expr2 && expr3 }

Так && вместо ; работал бы просто великолепно, как echo возвратит true.

[[ $(id -u) == 0 ]] || echo "Must be root to run script" && exit 1
13
16.11.2017, 19:24
4 ответа

Об этом уже сообщили как ошибка Debian № 564327, ошибка Debian № 565279, ошибка Ubuntu № 524774 и ошибка FreeDesktop 20145. Существует исходный патч, присоединенный к обсуждению ошибки FreeDesktop. Существует несколько предложений по обходному решению в обсуждении ошибки Ubuntu, в особенности a .Xmodmap обходное решение.

5
27.01.2020, 19:53

Смотря на обходное решение, связанное Giles, это - то, что работало на меня:

clear Mod1
clear Mod4

keycode 204 = NoSymbol NoSymbol NoSymbol NoSymbol
keycode 206 = NoSymbol NoSymbol NoSymbol NoSymbol

keycode 64 = Control_L Control_L Control_L Control_L
keycode 133 = Alt_L Alt_L Alt_L Alt_L
keycode 134 = Alt_R Alt_R Alt_R Alt_R
keycode 108 = Control_R Control_R Control_R Control_R

add Control = Control_L Control_R
add Mod1 = Alt_L Alt_R

Мои функциональные клавиши теперь функционируют как Клавиши CTRL и мой Windows Keys как клавиши Alt.

7
27.01.2020, 19:53

Проблема возникает, когда Вы пытаетесь добавить keysym к модификатору, который уже добавляется к другой модифицирующей клавише. Жизненно важно знать, что, если Вы добавляете keysym к модификатору весь другой keysyms, что компаньон keysym в случае, если добавляются также относительно того модификатора.

Например:

clear mod5
add mod5    = ISO_Level3_Shift Mode_switch

может привести к

mod5        backslash (0x33),  Caps_Lock (0x42),  ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

потому что у Вас есть что-то как

keycode  66 = Caps_Lock NoSymbol ISO_Level3_Shift

в Вашем ~/.Xmodmap (Просматривают текущий код клавиши к keysym, отображающемуся через xmodmap -pke)

который произведет рассматриваемую ошибку BadValue, когда Вы также попытаетесь сделать что-то как

add lock    = Caps_Lock

потому что Caps_Lock уже добавляется к mod5 модификатору.

3
27.01.2020, 19:53

Это - другое решение Вашей проблемы, хотя это действительно не отвечает на Ваш вопрос. Отредактируйте xorg.conf, вставив следующее в Раздел "InputDevice":

 Option "XkbOptions" "ctrl:swapcaps"
2
27.01.2020, 19:53

Теги

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