Ak изменить раскладку клавиатуры

Обновлено: 21.11.2024

На этой странице объясняется, как перемещать клавишу Control. Некоторые пользователи считают, что это может помочь избежать «мизинца Emacs» (RepeatedStrainInjury).

Но обратите внимание, что некоторые пользователи считают, что это вызывает мизинец Emacs, потому что вы постоянно вытягиваете левый мизинец, чтобы нажать Ctrl. Лучше придерживаться стандартной раскладки и нажимать клавиши Ctrl по обеим сторонам клавиатуры кончиком мизинца (разведите пальцы веером и поверните запястье к центру тела), ногтем мизинца (загните его вниз) или костяшка у основания мизинца (раскройте ладонь и ударьте по ней). Привыкайте ко всем; первое слово в RepeatedStrainInjury повторяется.

Введение

Для некоторых очень важно поменять местами Control и CapsLock; практически бесполезный CapsLock нажимается гораздо легче, чем Control, что очень важно для Emacs, но очень неудобно расположено.

Когда Emacs был впервые написан, на большинстве клавиатур клавиша Ctrl располагалась слева от A, либо сразу слева, либо с CapsLock между ними. Таким образом, это был удобный и логичный выбор ключа для создания команд Emacs. Когда персональные компьютеры стали популярными в 80-х годах, клавиша Ctrl была убрана, по-видимому, потому, что целевые пользователи (офисные работники) не будут нуждаться в клавише Ctrl так часто, как в CapsLock.

GNU/Linux

Обратите внимание, что для X (графических сеансов) и для виртуальных консолей часто используются отдельные сопоставления клавиатуры. (В Debian вы можете использовать файл /etc/default/keyboard для обоих вариантов.)

Среда рабочего стола GNOME

Этот параметр находится в инструменте настройки GNOME. В некоторых версиях инструмента вам нужно нажать на раздел «Клавиатура и мышь» на левой панели навигации, а затем нажать кнопку «Дополнительные параметры макета» в основной области содержимого «Клавиатура и мышь». Должно появиться окно «Дополнительные параметры макета», и вы можете перейти к разделу «Позиция Ctrl», чтобы поставить галочку рядом со списком «Caps Lock as Ctrl».

Для тех, у кого есть другая версия GNOME Tweak Tool, попробуйте использовать эти снимки экрана, чтобы помочь вам в процессе.

На вкладке «Ввод» найдите настройку «Положение клавиши Ctrl» и выберите «Поменять местами Ctrl и Caps Lock» или «Caps Lock как Ctrl»; последнее также доступно в разделе «Поведение клавиши Caps Lock» как «Сделать Caps Lock дополнительным Ctrl».

Среда рабочего стола KDE

Затем включите нужные параметры и нажмите кнопку "Применить":

X (с использованием xmodmap)

В системе X Window вы можете использовать xmodmap(1) для изменения раскладки клавиш. Некоторые среды рабочего стола, такие как Gnome и KDE, которые используют X, имеют специальные меню настроек, облегчающие эту задачу. Преимущество использования xmodmap заключается в том, что он будет работать с любым рабочим столом или оконным менеджером.

Дополнительную информацию см. в справочной странице команды xmodmap(1x). Я меняю их функции в своей среде, а не только для Emacs.

В Unix-подобных системах у меня есть файл ~/.xmodmap:

который взят из моего ~/.xsession со строкой:

X (с использованием xkb)

В системе X Window вы также можете поменять местами Control и Caps Lock с помощью параметра xkb ctrl:swapcaps . Если вам никогда не нужен Caps Lock, вы можете вместо двух установленных Caps Lock поменять местами другой элемент управления. Это делается с помощью ctrl:nocaps. Используйте один из них из командной строки:

Обратите внимание, что приведенное выше действие изменит вашу раскладку клавиатуры на раскладку клавиатуры США. Если это не американская раскладка клавиатуры, вам нужно добавить переключатель с вашей раскладкой, например:

Если вы не знаете название своей раскладки клавиатуры, я думаю, что это всегда второе значение внутри строки включения xkb_symbols, если вы установите xkbmap -print, поэтому эта команда должна сохранить его для вас:

Вы можете поместить эту команду в свой ~/.xsession , ~/.gnomerc или любой другой. Если вы можете редактировать файл конфигурации X, вы можете сделать это для всей системы:

Если вышеуказанная настройка не работает, попробуйте эту (в настоящее время предпочитает Xorg):

В Fedora 15 вы также можете добавить файл ~/.Xkbmap, содержащий аргументы командной строки, в setxkbmap . Они будут использованы при следующем входе в систему.

На странице CapsKey есть пример перемещения Ctrl на Caps.

Виртуальные консоли

Это не то же самое, что терминал, работающий в окне под X! Это текстовый режим, доступ к которому обычно осуществляется нажатием клавиш Ctrl+Alt+F1–F6.

Универсальная виртуальная консоль GNU/Linux (любой дистрибутив)

Примечание: хотя эти инструкции должны работать в любом дистрибутиве GNU/Linux, вы можете использовать метод для конкретного дистрибутива, который может быть проще.

Нажмите Ctrl-Alt-F1, чтобы открыть первую виртуальную консоль.

Затем добавьте в этот файл следующие строки:

Затем запустите loadkeys для этого файла:

Для более расширенного редактирования попробуйте:

О Debian и его производных (Ubuntu, Mint и т. д.)

Чтобы сделать Caps Lock другой клавишей Ctrl, отредактируйте файл /etc/default/keyboard и измените строку, которая читается

28 марта 2020 г. Аджу сказал: «Linux Mint 19.3 Tricia x86_64 Cinnamon 4.4.8 с командой dpkg-reconfigure ничего не изменило для меня, но изменило выход и повторный вход».

В Gentoo Linux

Для систем i386, чтобы сделать Caps Lock другим элементом управления: в /etc/conf.d/keymaps установите

В Slackware GNU/Linux

Как и в Gentoo, вы можете добавить Caps Lock в качестве еще одной клавиши управления:

Консоль NetBSD

В /etc/wscons.conf добавьте:

затем создайте файл /usr/share/wscons/keymaps/pckbd.c2c с одной строкой:

символ клавиши Caps_Lock = Control_L

Это также можно проверить немедленно (не требует перезагрузки) и временно (не переживет перезагрузку) с помощью: wsconsctl -w map+="keysym Caps_Lock = Control_L"

Откройте «Системные настройки» → «Клавиатура» и выберите «Клавиши-модификаторы»:

Затем выберите, какая из четырех клавиш-модификаторов должна отправлять управление:

Переменная ‘mac-command-modifier’ может использоваться для интерпретации клавиши Command как дополнительного элемента управления. Это может быть полезно для поведения, подобного Linux, когда Caps Lock уже переназначен на Command.

В Emacs 22 (Carbon Port, версия CVS) вы можете использовать переменную mac-control-modifier для переназначения клавиши Control.

Майкрософт Windows

Ctrl2cap

Самый простой способ добиться этого в Microsoft Windows — установить программу Sysinternals Ctrl2cap.

Инструменты набора ресурсов Windows Server 2003

Используйте remapkey.exe из Windows Server 2003 Resource Kit Tools, чтобы переназначить раскладку клавиатуры Windows.

Автогорячая клавиша

В Windows вы можете использовать программу AutoHotkey, которая использует «скрипты» для переназначения клавиатуры.

В этом разделе описывается, как поменять местами клавиши Control и CapsLock, но с помощью AutoHotKey также можно использовать пробел как в качестве пробела, так и в качестве элемента управления. См. раздел Использование пробела в качестве пробела и элемента управления ниже.

У этого метода есть несколько преимуществ. Во-первых, скрипты могут быть скомпилированы в отдельный файл .exe, который может выполняться на компьютере, на котором нет AutoHotkey. Во-вторых, переназначение клавиш можно настроить так, чтобы оно применялось только в emacs; клавиша Caps Lock будет вести себя нормально в любой другой программе. (Если это то, что вы хотите.)

Чтобы переназначить клавишу Caps Lock на Ctrl, сохраните следующее в файл с именем script.ahk. Затем выполните скрипт с помощью AutoHotKey, дважды щелкнув по нему. См. документацию AHK2EXE, чтобы узнать, как преобразовать скрипты в автономные исполняемые файлы.

Исходное поведение Caps Lock здесь сопоставлено с Shift + Caps Lock.

Если вы хотите, чтобы этот сценарий AHK оставался в силе после перезапуска Windows, поместите сценарий в папку автозагрузки. Подробные указания см. в разделе запуска часто задаваемых вопросов AHK.

Вот исполняемый файл скрипта AutoHotKey, так что вам не нужно скачивать сам autohotkey. (Обратите внимание, что эти программы сопоставляют правое управление с заглавными буквами.)

Использование клавиши возврата в качестве Ctrl

Другая рекомендация — использовать клавишу возврата в качестве клавиши Ctrl, когда она удерживается нажатой. Это значительно упрощает нажатие клавиш на левой стороне клавиатуры в сочетании с Ctrl. Если при нажатии клавиши возврата нажата другая клавиша, клавиша возврата действует как Ctrl. Если клавиша «Возврат» нажата и отпущена одна, она действует как «Возврат». Более подробную информацию, сценарий AutoHotKey и скомпилированный исполняемый файл для выполнения вышеуказанного можно найти здесь.

Реестр

Без прописных

Поменять прописными буквами

Это также можно сделать, отредактировав реестр вручную, чтобы выполнить то же самое, см. [ 1 ] для объяснения.

Чтобы отменить изменения, вы можете просто удалить значение Scancode Map или запустить скрипт .reg со следующим:

Примечание. Драйвер сенсорной панели Synaptics для Windows считывает немодифицированные скан-коды, пока активен PalmTouch, поэтому, если вы переключите Ctrl и Capslock, вам также придется отключить PalmTouch, если вы хотите отправлять Ctrl-Tap с помощью сенсорной панели. .

Вместо этого вы можете внести аналогичные изменения в

что делает изменение только для текущего пользователя.

Раскладка

Существует небольшая программа под названием keymap, которая изменяет реестр.

Сопоставление ключей

SharpKeys

SharpKeys работает так же, как Keymap и KeyMapper, поскольку он изменяет реестр для вас, и известно, что он работает с Windows 8.

В Лиспе?

Я знаю, что это довольно просто сделать только для emacs, но я никогда не изучал, как именно, а Lisp не моя сильная сторона. Кто-нибудь?

Сомнительно. Я могу заставить xorg под Cygwin в Windows переключать ключи с помощью аргумента командной строки на xwin. Конечно, тогда должна быть возможность исправить emacs, чтобы сделать это, по крайней мере, на уровне исходного кода. Любой? Кроме того, что вы подразумеваете под «последним методом»? Я не вижу здесь метода, который не требует доступа администратора. Я хотел бы знать один. Я думаю, что когда вы запускаете emacs через cygwin, он использует свой собственный x-сервер. Когда вы даете переключатель командной строки для переназначения ключей, вы фактически делаете это на всем своем X-сервере. Просто так получилось, что на вашем X-сервере работает только emacs. Насколько я знаю, X не разрешает настраиваемые сочетания клавиш для каждого приложения. EmacsW32 с w32-enable-caps-lock, установленным на nil, читает этот ключ как . Должна быть возможность сказать Emacs, чтобы он рассматривал его как элемент управления. (define-key function-key-map [(capslock)] ‘event-apply-control-modifier) ​​приближается.

Диспетчер клавиатуры PowerToys

По состоянию на август 2020 года PowerToys Keyboard Manager для Windows 10 не работает с WSL и Windows Terminal.

С самой простой конфигурацией вы можете сказать, что она не работает, потому что удерживание переназначенной клавиши Caps Lock приводит к тому, что регион постоянно активируется и деактивируется.

Андроид

При использовании аппаратной Bluetooth-клавиатуры, подключенной к планшету или телефону Android, можно заменить клавишу SHIFT также на CTRL. Чтобы сделать это для Android, вам, очевидно, нужен root-доступ. Откройте консоль и получите root-доступ с помощью:

Затем перемонтируйте /system и измените нужные ключи в /system/usr/keymaps с помощью редактора по вашему выбору, например нано:

Снова клавиша 58 — это клавиша SHIFT. Например, установите его на CTRL_LEFT. Сохраните файл и перезагрузите планшет/телефон.

Другой метод

Файлы, размещенные в /system, будут заменены во время обновления системы Android. Вместо того, чтобы перезаписывать файл Generic.kl, вы можете скопировать его как /data/system/devices/keylayout/Vendor_XXXX_Product_XXXX.kl и внести в него соответствующие изменения.

Вы можете узнать идентификатор поставщика и продукта вашей внешней клавиатуры, запустив

Должна появиться информация о вашей клавиатуре. Убедитесь, что созданный файл .kl, а также любой каталог, который вы создаете для его размещения, имеют соответствующие разрешения, т. е. файл keylayout не должен быть доступен для записи всем, иначе Android не загрузит его.

Использование клавиши пробела как пробела, так и для управления

Альтернативой перемещению клавиши управления, чтобы избежать мизинца Emacs, является использование пробела как и пробела, и управления.

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

Этого можно добиться с помощью модификатора at-home или [ 2 ] в X (только для Linux). А для MS Windows AutoHotKey со скриптом BigCtrl. А для Mac — keyremap4macbook.

Это не ограничивается клавишей ctrl — Shift, Alt или любые другие клавиши можно нажимать большими пальцами. См. также следующий раздел о японской клавиатуре.

История. Этот прием был изобретен К. Кимурой в 2001 году и известен некоторым пользователям в Японии как "SandS", что означает "пробел и сдвиг" (первоначальная идея состояла в том, чтобы использовать пробел в качестве сдвига). Полную историю смотрите в README at-home-modifier.

Японская клавиатура

Еще одна альтернатива перемещению клавиши управления, позволяющая избежать мизинца Emacs, — использование японской клавиатуры.

На японской клавиатуре (статья в Википедии) есть много клавиш, которые можно нажимать большими пальцами, к которым можно привязать модификаторы. Например, нижний ряд японской клавиатуры может работать как [alt][shift][ctrl][shift][alt] и [Esc][Bs][Space][Enter][Tab], все нажать большими пальцами, используя «модификатор дома» или AutoHotKey, упомянутые в предыдущем разделе.

Опыт работы с Emacs и конкретными клавиатурами см. в GoodKeyboards и Wiki: ErgonomicKeyboard (клавиатуры, педали и т. д.)

Пежевой переключатель

Еще один вариант — использовать ножные переключатели для клавиши Control и других часто используемых клавиш. Например, я использую две педали Usb: одну для клавиши Ctrl, другую для клавиши Shift, Shift+Space привязан к RET, а CapsLock для Backspace. – Северин Кокот

Клавиатура и отсутствие прав администратора в MS Windows

Установите AutoHotKey в папку в вашей учетной записи пользователя.

Еще одна клавиатура — это клавиатуры WASD. У них есть переключатель, который позволяет вам контролировать, является ли клавиша Caps Lock управляющей или стандартной.

Эта работа предоставляется вам по лицензии GNU General Public License версии 2.В качестве альтернативы вы можете выбрать получение этой работы по любой другой лицензии, которая предоставляет право на использование, копирование, изменение и/или распространение работы, если эта лицензия налагает ограничение, которое производные работы должны предоставлять те же права и налагать такое же ограничение. Например, вы можете получить эту работу по лицензии GNU Free Documentation License, лицензии CreativeCommons ShareAlike, ручной лицензии XEmacs или аналогичным лицензиям.

Читайте также: