Клавиши навигации курсором на основном блоке клавиатуры

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

Было решено использовать клавиши, используемые в клавиатуре Miniguru, как более привычные, чем те что в VIM, но совместно с нажатой клавишей [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

26 февраля 2010

keyboard linux