Search
Write a publication
Pull to refresh
18
0
Тамарин Вячеслав @badger239

Начинающий программист

Send message

Только начинать нужно не с пустого стека, иначе "aabb" тоже палиндромом станет. Чтобы заработало, придется сначала половину строки в этот стек сложить без удалений.

Использую i3, просто в конфиге прописал команду xkbcomp ...
В гноме вроде можно через настройки добавить в автозапуск эту команду

Можно попробовать не FOUR_LEVEL, а PC_ALT_LEVEL2. Тогда должно будет на втором месте задаваться значение с ALT. Так, например, написано в переключении раскладок по ALT+что-то, возможно и другие значения задать получится.

Чтобы AltGr + [ = [ как значение на третьем уровне, надо модификатор этого уровня определить


key <RALT> { [ ISO_Level3_Shift ] }

А еще для самой клавиши код указать нужно (скорее всего key <AD12> { ...)

У меня работало, но при этом ISO_First_Group было назначено и на другую комбинацию. Может с этими связано.


Если имеется ввиду комбинация Alt_L+Alt_R — латиница, Shift_L+Shift_R — кириллица, то без xcape получится. Мы можем задать значение шифтов в модификатором Shift (просто второй параметр) и значение альтов с модификатором Alt (тип -> PC_ALT_LEVEL2, и теперь второй параметр). Это похоже на то, что было выше.

Есть плагин vim-xkbswitch, который сохраняет раскладку в insert и при переходе в normal автоматически переключается на латинскую и умеет реагировать на горячие клавиши в русской раскладке.


https://github.com/lyokha/vim-xkbswitch

Можно, но с некоторым побочным эффектом. Для этого нужно вернуть AltGr значение Alt_R (или другое, но нужно, чтобы оно не использовалось на других клавишах) и задать значение с шифтом ISO_Last_Group, дальше задать такое же значение на шифтах при нажатом Alt_R:


key <RALT> {
    symbols[group1] = [ Alt_R, ISO_Last_Group ],
    virtualMods= AltGr
};
key <RTSH> {
    type[group1] = "PC_RALT_LEVEL2",
    symbols[group1] = [ Shift_R, ISO_Last_Group ]                                                                            
};
key <LFSH> { 
    type[group1] = "PC_RALT_LEVEL2",
    symbols[group1] = [ Shift_L, ISO_Last_Group ]
};

И чтобы переключение на английскую раскладку было при нажатии AltGr, используем $ xcape -t <xxx> -e "Alt_R=ISO_First_Group.
Здесь нужно либо подобрать время, через которое будет срабатывать переключение, либо убрать его вообще, но тогда, если сначала нажимается шифт, а потом альт, нужно отпускать вместе (иначе сработает переключение на английский).


Как сделать по другому пока не представляю, потому что комбинацию AltGr+Shift просто не задать.


С другой стороны, по этой же схеме, но без xcape можно сделать, чтобы в одном порядке переключало в одну сторону, а в обратном — в другую.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity