Клавиши навигации курсором на основном блоке клавиатуры
Во время работы с текстами, особенно исходными текстами программ, часто требуется перемещать курсор, и для этого приходится убирать правую руку со стартовой позиции печати на стрелки, управляющие курсором. В текстовом редакторе VIM для этого придумали специальный режим, в котором некоторые клавиши работают как стрелки.
Было решено использовать клавиши, используемые в клавиатуре Miniguru, как более привычные, чем те что в VIM, но совместно с нажатой клавишей [Alt].

Клавиатурные сочетания:
- стрелка вверх:
Alt+i - стрелка влево:
Alt+j - стрелка вниз:
Alt+k - стрелка вправо:
Alt+l - клавиша
[Home]:Alt+u - клавиша
[End]:Alt+o - клавиша
[Page Up]:Alt+p - клавиша
[Page Down]:Alt+; - клавиша
[Delete]:Alt+m - клавиша
[Insert]:Alt+, - клавиша
[Backspace]:Alt+пробел
Установка в Ubuntu Linux
Для использования необходимо установить пакет xbindkeys:
$ sudo apt-get install xbindkeys
После чего файл создать файл ~/.xbindkeysrc (исходный код ниже), и запустить установленную программу:
$ xbindkeys
Можно работать. Чтобы работали сочетания Alt+Shift+[ijkl], необходимо убрать переключение раскладки клавиатуры по Alt+Shift, я переставил эту функцию на [Caps Lock].
Файл ~/.xbindkeysrc
"SamsungToolsDummyCommand"
Control+Alt+Shift+Mod4+F1+F2+F3
"samsung-tools --show-notify --quiet --backlight hotkey"
XF86Launch1
"samsung-tools --show-notify --quiet --cpu hotkey"
XF86Launch3
"samsung-tools --show-notify --quiet --webcam hotkey"
Alt+KP_Insert
"samsung-tools --show-notify --quiet --wireless hotkey"
XF86WLAN
"xvkbd -xsendevent -text '\[Left]'"
m:0x8 + c:44
Alt + j
"xvkbd -xsendevent -text '\S\[Left]'"
m:0x9 + c:44
Shift+Alt + j
"xvkbd -xsendevent -text '\C\[Left]'"
m:0xc + c:44
Control+Alt + j
"xvkbd -xsendevent -text '\C\S\[Left]'"
m:0xd + c:44
Control+Shift+Alt + j
"xvkbd -xsendevent -text '\[Right]'"
m:0x8 + c:46
Alt + l
"xvkbd -xsendevent -text '\S\[Right]'"
m:0x9 + c:46
Shift+Alt + l
"xvkbd -xsendevent -text '\C\[Right]'"
m:0xc + c:46
Control+Alt + l
"xvkbd -xsendevent -text '\C\S\[Right]'"
m:0xd + c:46
Control+Shift+Alt + l
"xvkbd -xsendevent -text '\[Up]'"
m:0x8 + c:31
Alt + i
"xvkbd -xsendevent -text '\S\[Up]'"
m:0x9 + c:31
Shift+Alt + i
"xvkbd -xsendevent -text '\C\[Up]'"
m:0xc + c:31
Control+Alt + i
"xvkbd -xsendevent -text '\C\S\[Up]'"
m:0xd + c:31
Control+Shift+Alt + i
"xvkbd -xsendevent -text '\[Down]'"
m:0x8 + c:45
Alt + k
"xvkbd -xsendevent -text '\S\[Down]'"
m:0x9 + c:45
Shift+Alt + k
"xvkbd -xsendevent -text '\C\[Down]'"
m:0xc + c:45
Control+Alt + k
"xvkbd -xsendevent -text '\C\S\[Down]'"
m:0xd + c:45
Control+Shift+Alt + k
"xvkbd -xsendevent -text '\[Home]'"
m:0x8 + c:30
Alt + u
"xvkbd -xsendevent -text '\S\[Home]'"
m:0x9 + c:30
Shift+Alt + u
"xvkbd -xsendevent -text '\C\[Home]'"
m:0xc + c:30
Control+Alt + u
"xvkbd -xsendevent -text '\C\S\[Home]'"
m:0xd + c:30
Control+Shift+Alt + u
"xvkbd -xsendevent -text '\[End]'"
m:0x8 + c:32
Alt + o
"xvkbd -xsendevent -text '\S\[End]'"
m:0x9 + c:32
Shift+Alt + o
"xvkbd -xsendevent -text '\C\[End]'"
m:0xc + c:32
Control+Alt + o
"xvkbd -xsendevent -text '\C\S\[End]'"
m:0xd + c:32
Control+Shift+Alt + o
"xvkbd -xsendevent -text '\[Page_Up]'"
m:0x8 + c:33
Alt + p
"xvkbd -xsendevent -text '\S\[Page_Up]'"
m:0x9 + c:33
Shift+Alt + p
"xvkbd -xsendevent -text '\C\[Page_Up]'"
m:0xc + c:33
Control+Alt + p
"xvkbd -xsendevent -text '\C\S\[Page_Up]'"
m:0xd + c:33
Control+Shift+Alt + p
"xvkbd -xsendevent -text '\[Page_Down]'"
m:0x8 + c:47
Alt + semicolon
"xvkbd -xsendevent -text '\S\[Page_Down]'"
m:0x9 + c:47
Shift+Alt + semicolon
"xvkbd -xsendevent -text '\C\[Page_Down]'"
m:0xc + c:47
Control+Alt + semicolon
"xvkbd -xsendevent -text '\C\S\[Page_Down]'"
m:0xd + c:47
Control+Shift+Alt + semicolon
"xvkbd -xsendevent -text '\d'"
m:0x8 + c:58
Alt + m
"xvkbd -xsendevent -text '\S\d'"
m:0x9 + c:58
Shift+Alt + m
"xvkbd -xsendevent -text '\C\d'"
m:0xc + c:58
Control+Alt + m
"xvkbd -xsendevent -text '\C\S\d'"
m:0xd + c:58
Control+Shift+Alt + m
"xvkbd -xsendevent -text '\[Insert]'"
m:0x8 + c:59
Alt + comma
"xvkbd -xsendevent -text '\S\[Insert]'"
m:0x9 + c:59
Shift+Alt + comma
"xvkbd -xsendevent -text '\C\[Insert]'"
m:0xc + c:59
Control+Alt + comma
"xvkbd -xsendevent -text '\C\S\[Insert]'"
m:0xd + c:59
Control+Shift+Alt + comma
"xvkbd -xsendevent -text '\b'"
m:0x8 + c:65
Alt + space