Skip to content

Instantly share code, notes, and snippets.

@optozorax
Last active August 17, 2019 15:33
Show Gist options
  • Save optozorax/efa0370009eb684ce8b5794757d1cda1 to your computer and use it in GitHub Desktop.
Save optozorax/efa0370009eb684ce8b5794757d1cda1 to your computer and use it in GitHub Desktop.
Концепция клавиш разного уровня

Итак, введём новые клавиши, под кодовым названием: lv буква, lv слово, lv строка, lv вкладка, lv окно, lv экран.

Эти клавиши означают что действие будет применяться к конкретному уровню, например, если нажать lv буква + Left, то курсор подвинется на одну букву влево, если же нажать lv окно + Left, то фокус переключится на окно слева в списке открытых окон.

Распишу некоторые интересные использования этих клавиш в комбинации с другими:

Действие lv буква lv слово lv строка lv вкладка lv окно lv экран
Стрелки вправо-влево Left, Right Ctrl+Left, Right Home, End Ctrl+Tab, Ctrl+Shift+Tab (Переключение на правую-левую вкладку относительно текущей) Переключение на левое-право окно относительно текущего в списке приложений Переключение фокуса на правый-левый экран
Стрелки вверх-вниз Понятно Смещение экрана на одну строку вверх-вниз Переход курсора в начало-конец текста Переключение между вкладками в последовательности последнего использования Переключение между окнами в последовательности последнего использования Переключение между экранами в порядке последнего использования
Backspace/Delete Удаление символа справа-слева Удаление слова справа-слева Удаление текущей строки Закрытие текущей вкладки Закрытие текущего окна Выключение текущего экрана (?)
Число N Перейти к N букве в текущей строке Перейти к N слову в текущей строке Перейти к N строке в текущем файле Перейти к N вкладке в текущем окне Перейти к N окну Перейти к N экрану

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

Тогда нажав одновременно: перемещение + lv экран + вправо, можно переместить окно на экран справа от текущего.

Так же можно комбинировать эти действия с другими клавишами, но я пока не придумал с какими.

Пока что это только идея, но основная мысль в том, чтобы напрямую выводить какие-то абстракции из хоткеев и кристаллизировать их в такую точную сущность.

На данный момент всё это реализуется при помощи комбинаций клавиш

  • Ctrl+Tab - переключение вкладки по положению
  • Ctrl+PgUp - переключение вкладки по последнему использованию
  • Alt+Tab - переключение по окнам в порядке последнего использования
  • Win+1 - переключение на конкретное окно
  • Ctrl+1 - переключение на конкретную вкладку
  • etc.

Вообще я сам сейчас вижу, что множество назначений понапридумывал от балды, и по сути не являюсь ничем лучше, чем Ctrl+PgUp (PgUp тут походу взят от балды). Но мне очень нравится такая идея, что:

  • Стрелки вправо-влево переключают между вкладками, окнами, экранами в порядке их положения
  • А стрелки вверх-вниз переключают в порядке последнего использования:
    • Стрелка вверх переключает сразу
    • А стрелка вниз показывает менюшку, куда она переключится, чтобы это можно было выбрать

Так же возникла идея сделать дополнительные клавиши умножения действия, например: x5, позволяющее нажать определенную клавишу нужное число раз. Но это имеет смысл только для передвижения обычными стрелками по тексту, и не имеет смысл для передвижения по окнам или вкладкам, и тем более экранам.

А ещё я, конечно, ни за что не буду делать на своей клавиатуре 6 чёртовых модификаторов! Это лишь теоритизирование, чтобы записывать абстракции было куда проще, на самом же деле, если такие клавиши реально появятся, я просто вынесу наиболее частые сочетания клавиш в нужные клавиши под слои, как я это сделал с Ctrl+Left, Ctrl+Right в своей раскладке.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment