Я использую xkb для создания собственной раскладки клавиатуры. У меня небольшая проблема.
key <AE04> {[ Shift_L ]};
key <AE07> {[ Shift_R ]};
key <LFSH> {[ comma , semicolon , bar ]};
key <RTSH> {[ period , colon , period ]};
modifier_map Shift { <AE04>, <AE07> };
Выше перемещает клавиши Shift к другим клавишам. Чтобы новые клавиши Shift действительно что-то делали при нажатии, мне пришлось добавить строку modifier_map
. Код также помещает обычные символы на старые клавиши Shift. Все идет нормально.
Проблема в том, что если я удерживаю старую левую клавишу Shift и нажимаю какой-нибудь символ - скажем, "а" - я получаю "А". Так что эта клавиша работает как клавиша с запятой и как клавиша Shift. Последнее не желательно. То же самое происходит с правой старой клавишей Shift. На самом деле, это также происходит с контролем и альт.
Как мне это решить? Такое ощущение, что мне нужно modifier_unmap
или что-то.