Мне кажется очень удобным использовать Control-j вместо Return в xterm и vim, и я хочу использовать эту последовательность для всех приложений X.
Это можно легко сделать с помощью xkb, переназначив ISO_Level5_Shift на клавишу Control и установив Return как символ 5-го уровня для клавиши j, но после этого все другие комбинации Control в vim и xterm перестают работать (потому что xterm и vim не могут понять Мод ключей), и это абсолютно недопустимо.
Мне удалось сделать это без переназначения ISO_Level5_Shift, используя тип ключа "LOCAL_EIGHT_LEVEL" в разделе xkb_symbols, который использует Control (вместо ISO_Level5_Shift) в качестве модификатора Level5:
key <AC07> { [ j, J, plusminus, NoSymbol, Return ], type[Group1]= "LOCAL_EIGHT_LEVEL" };
Проблема этого решения - xkb устанавливает бит управления, а Control-j возвращает Control-Return вместо просто Return. Иногда (довольно часто, кстати) эта комбинация не работает как Return.
Итак, мне нужно изменить одно из этих решений, чтобы сбросить бит управления для комбинаций Control-j.
По этой ссылке: Arch Wiki статьи про XKB это можно сделать, но я не знаю, как это сделать. Итак, это мой вопрос.
Может быть, мне нужно добавить какое-нибудь правило xkb_compatibility для Return+Control или что-то в этом роде, или добавить несколько отображений xmodmap - любые решения приветствуются.