Как поменять значения кнопок на клавиатуре (на Маке)
Когда у меня была писишная клавиатура, я активно пользовался цифровым блоком, который расположен справа. Но не для набора цифр, а для перемещения по тексту туда-сюда с помощью стрелок и кнопок Home/End и PgUp/PgDown. Ещё там были кнопки Enter и Del, так что можно было выполнять кучу разных действий, вообще не перемещая руку .
Для мака я специально купил полноразмерную клавиатуру с цифровым блоком, но обнаружил, что там есть только цифры. Никаких стрелок и всего остального.

Целый год я бился, чтобы найти способ поменять значения этих кнопок и, наконец-то, нашёл его.
Способ этот называется KeyRemap4MacBook (пусть название вас не смущает, эта программа работает со всеми маками, а не только с макбуками). Сайт программы выглядит очень красноглазо – как раз то, что мне надо!
Так выглядят окно настроек этой программки:

Кнопка «Reload XML», упоминания Emacs и X11 сразу выдают в ней продукт, написанный программистом для программистов, а значит для меня. На скриншоте видна куча предустановок, которые можно включать и выключать галочками. Кроме этого, можно создавать свои собственные настройки, которые описываются в специальном файле private.xml. С помощью этого файла можно переназначить вообще все кнопки.
Формат этого файла достаточно простой. Значения кнопок в нём обозначаются специальными ключевыми словами, либо цифровыми кодами. Для того, чтобы узнать цифровой код конкретной кнопки, в составе программы есть утилита EventViewer (вызывается через значок программы в панели меню). Эта утилита отображает код кнопки, которую вы нажимаете в данный момент. Причём код отображается в шестнадцатеричном виде, который вам придётся самостоятельно перевести в десятичный. Ну разве не прелесть?
Ниже приведён мой файл private.xml.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?xml version="1.0"?> <root> <item> <name>Fix Numpad</name> <identifier>fixnumpad</identifier> <!-- Стрелки и кнопки Home,End,PgUp,PgDown --> <autogen>--KeyToKey-- KeyCode::KEYPAD_1, KeyCode::END</autogen> <autogen>--KeyToKey-- KeyCode::KEYPAD_2, KeyCode::CURSOR_DOWN</autogen> <autogen>--KeyToKey-- KeyCode::KEYPAD_3, KeyCode::PAGEDOWN</autogen> <autogen>--KeyToKey-- KeyCode::KEYPAD_4, KeyCode::CURSOR_LEFT</autogen> <autogen>--KeyToKey-- KeyCode::KEYPAD_6, KeyCode::CURSOR_RIGHT</autogen> <autogen>--KeyToKey-- KeyCode::KEYPAD_7, KeyCode::HOME</autogen> <autogen>--KeyToKey-- KeyCode::KEYPAD_8, KeyCode::CURSOR_UP</autogen> <autogen>--KeyToKey-- KeyCode::KEYPAD_9, KeyCode::PAGEUP</autogen> <!-- Точка на цифровом блоке работает как Del --> <autogen>--KeyToKey-- KeyCode::KEYPAD_DOT, KeyCode::FORWARD_DELETE</autogen> <!-- Сочетание Shift+0 на цифровом блоке работает как Command+V --> <autogen>--KeyToKey-- KeyCode::KEYPAD_0, ModifierFlag::SHIFT_L, KeyCode::V, ModifierFlag::COMMAND_L</autogen> </item> </root> |
Как видите, различные модификаторы типа Shift, Control или Command тоже поддерживаются.
Комментарии
Написать комментарийЯ нашёл намного проще!Ничего писать не надо!
а можно рассказать как проще???
Очень интересно, совсем недавно "переехал" с РС на Mac очень рад но испытываю пока некоторые неудобства... полноразмерную клавиатуру тоже купил сразу т.к. работаю с цифрами и привык к цифровому блоку... Проблема в том что в русской и английской раскладках в правой части клавиатуры слева от Shift кнопка "? и /" так и остается и не меняется на значения ", и ." как я привык на рс это можно как то исправить под себя с помощью выше описанной вами чудо программы? или надо мучиться и привыкать к точке с запятой вверху в цифрах((((((((
Посмотрите на типографскую раскладку Ильи Бирмана. Она, помимо прочего, настраивает расположение кнопок так же, как на писюшной клавиатуре.
спасибо)