Клавиши управления курсором прямо в раскладке
Ранее для добавления удобных клавиш управления курсором на основном алфавитном блоке клавиатуры использовалась утилита xbindkeys
совсместно с xvkbd
. К сожалению, это решение оказалось практически неработоспособным в Unity
, который используется в Ubuntu
, начиная с версии 11.04
.
Сейчас придумал более совершенный способ, который будет работать во всех операционных системах. Заключается он в том, что мы вешаем клавиши управления курсором прямо в раскладку на место клавиш с нажатой AltGr
(используется для дополнительных букв национальных алфавитов, не помещающихся в стандартную клавиатуру). Работает это решение во всех программах, без задержек (в отличие от прошлого решения), позволяет использовать совместно с этими клавишами любые модификаторы, навроде Ctrl
и Shift
. Единственный минус - придется модифицировать все используемые вами раскладки.
Напоминаю используемую мною схему расположения клавиш:
В Microsoft Windows
в раскладках нельзя использовать эмуляцую спецклавиш, только различные символы из юникод-таблицы можно добавить, поэтому нужна программа, которая перехватывает нажатия клавиш и переназначает по-своему, например KeyMan (ссылка на сайт радиолюбителя Steve Key, так как официальный сайт видимо уже давно сломался).
Пример конфигурирования в Ubuntu Linux
файлов с раскладками, например файл /usr/share/X11/xkb/symbols/ru
partial hidden alphanumeric_keys
xkb_symbols "common" {
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Home, Home ] };
key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, Up, Up ] };
key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, End, End ] };
key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, Prior, Prior ] };
//...
key <AC07> { [ Cyrillic_o, Cyrillic_O, Left, Left ] };
key <AC08> { [ Cyrillic_el, Cyrillic_EL, Down, Down ] };
key <AC09> { [ Cyrillic_de, Cyrillic_DE, Right, Right ] };
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, Next, Next ] };
//...
key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN, Delete, Delete ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE, Insert, Insert ] };
//...
include "level3(ralt_switch)"
};
/usr/share/X11/xkb/symbols/us
partial hidden alphanumeric_keys
xkb_symbols "common" {
key <AD07> { [ u, U, Home, Home ] };
key <AD08> { [ i, I, Up, Up ] };
key <AD09> { [ o, O, End, End ] };
key <AD10> { [ p, P, Prior, Prior ] };
//...
key <AC07> { [ j, J, Left, Left ] };
key <AC08> { [ k, K, Down, Down ] };
key <AC09> { [ l, L, Right, Right ] };
key <AC10> { [ semicolon, colon, Next, Next ] };
//...
key <AB07> { [ m, M, Delete, Delete ] };
key <AB08> { [ comma, less, Insert, Insert ] };
//...
include "level3(ralt_switch)"
};