С первого года обучения в колледже меня интересовала тема человеко-машинных интерфейсов — взаимодействия человека и машины.
Не многое из того, что нас окружает, удобно или эргономично, но благодаря стандарту оно более распространено.
Я считаю клавиатуру одним из таких устройств.
Нет, я не буду критиковать qwerty-раскладку, подхожу к вопросу шире.
В частности, расположение блока цифровых и позиционных клавиш справа от буквенной части очень неудобно, а выносить управляющие клавиши наружу тоже не лучшая идея.
Не буду много говорить, но перейду к сути.
На внесение множества правок в код, который был написан уже давно, у меня ушло 1,5 дня, и постоянное перемещение руки от клавиш со стрелками к клавишам с буквами надоело, мягко говоря, наскучило.
Мне пришла в голову мысль: было бы удобнее, если бы клавиши управления курсором находились на буквенной части клавиатуры.
Да, идея не нова, но из существующих решений (в том числе сочетаний клавиш Emacs) мне ничего не понравилось — не удобно.
После недолгих раздумий появился вот этот эскиз:
Последний вариант оказался удобным и практически не требует запоминания.
Нажимать две и более модифицирующие клавиши неудобно, поэтому я использовал CapsLock (раньше использовал его для запуска Enso Launcher, теперь использую для переключения закладок с помощью Punto Switcher).
Клавиши со стрелками заняты буквами I, K, J и L; Del, Home, End, PageUp и PageDown — это O, P, «;», [ и ‘ соответственно.
Я не использую Insert и не перемещал его, отдав предпочтение BackSpace, разместив его на клавишах с буквой U. Еще я учел движение курсора при нажатом Shift для выделения текста.
А одновременное нажатие обеих клавиш Shift теперь меняет раскладку последнего введенного слова — горячей клавиши Break в Punto Switcher — слишком ленив, чтобы дотянуться до нее.
Таким образом, мы получаем расширение функций CapsLock и удобную навигацию по тексту без перемещения руки по клавиатуре.
Кстати, раскладка при нажатии другой клавиши одновременно с капсами остаётся той же, что и до нажатия, однократное нажатие остаётся прежним - смена раскладки.
Список сочетаний клавиш: CapsLock+I — переместить курсор вверх.
CapsLock + K — вниз CapsLock + J — влево CapsLock + L — вправо CapsLock + P — Главная страница КапсЛок+; -Конец CapsLock + [ - Страница вверх CapsLock + ' - Страница вниз Эти клавиши работают и при нажатом Shift: CapsLock+Shift+I (и так далее).
CapsLock + О — Дель CapsLock + U — BackSpace LShift + RShift — Разрыв Чем этот вариант удобен? Я набираю текст методом 10 пальцев, и в процессе набора руки остаются в одном положении над клавиатурой.
При этом курсор вверх-вниз управляется средним пальцем, влево-вправо - указательным и безымянным, как на обычных клавишах (я специально спрашивал у коллег и других вариантов не было упомянуто).
Расположение остальных такое же, как и на родных клавишах (кроме Del и Backspace, думаю их легко запомнить).
CapsLock нажимается мизинцем левой руки.
Все делается без движения рук.
Идея идеей, а без реализации – это просто бумажная волокита.
Для реализации вышеописанного функционала я написал простой скрипт, исполняемый программой AutoHotkey. Сам скрипт: CapsLock & +VK49:: ;key i
GetKeyState state, Shift
if state = D
Send {Shift}+{Up}
else
Send {Up}
Return
CapsLock & +VK4b:: ;key k
GetKeyState state, Shift
if state = D
Send {Shift}+{Down}
else
Send {Down}
Return
CapsLock & +VK4A:: ;key j
GetKeyState state, Shift
if state = D
Send {Shift}+{Left}
else
Send {Left}
Return
CapsLock & +VK4C:: ;key l
GetKeyState, state, Shift
if state = D
Send {Shift}+{Right}
else
Send {Right}
Return
CapsLock & VK50:: ;key p
GetKeyState state, Shift
if state = D
Send {Shift}+{Home}
else
Send {Home}
Return
CapsLock & VKBA:: ;key ;
GetKeyState state, Shift
if state = D
Send {Shift}+{End}
else
Send {End}
Return
CapsLock & VKDB:: ;key [
GetKeyState state, Shift
if state = D
Send {Shift}+{PgUp}
else
Send {PgUp}
Return
CapsLock & VKDE:: ;key '
GetKeyState state, Shift
if state = D
Send {Shift}+{PgDn}
else
Send {PgDn}
Return
CapsLock & VK55:: Send {Backspace} ;key u
CapsLock & VK4F:: Send {Del} ;key o
LShift & RShift:: Send {Pause}
Скрипт для Linux я не писал (пока не очень с ним знаком), если кто-то посчитает эту идею интересной и реализует ее для Linux, буду благодарен.
Пользуюсь этим решением второй день и очень доволен – удобно.
Планирую дальнейшее расширение функционала.
Картинка для скетча взята с сайта nabiraem.ru с разрешения администрации сайта.
Спасибо за внимание.
Теги: #Soft #keyboard #kiss #hotkeys #autohotkey
-
Развивающие Игры-Одевалки Барби И Братц
19 Oct, 24 -
Леонтович Михаил Александрович
19 Oct, 24 -
Философия Программирования 10 – Ии
19 Oct, 24 -
Весна! Выгодные Акции От «Простой Бизнес»
19 Oct, 24 -
Youtube Разоблачает Нерадивых Полицейских
19 Oct, 24