Однажды появилась у меня клавиатура Apple Keyboard aluminum, удобная, красивая, но есть определенная несовместимость в раскладке к которой обычно привыкаешь.
Основной проблемой стало полное отсутствие клавиши Insert, на ее месте располагается клавиша Fn, которая расширяет возможности функциональных клавиш и абсолютно бесполезна в Windows т.к. при нажатии на нее не передается никакой scan код. Нет привычных Print Screen или Pause/Break, зато теоретически можно с помощью дополнительных драйверов научить клавиатуру от apple быть клавиатурой от apple, т.е. уметь регулировать яркость монитора, управлять медиаплеером, громкостью, открывать лоток CD-ROMа, теоретически, потому что мне это ничего не надо, так что не будем на это терять время.
Посмотрим на клавиатуру по ближе и поймем, чего на в ней нехватает и что тут лишнее:
- Клавиша открытия лотка CD-ROMa нам не интересна, не трогаем ее.
- С клавишей Fn ни чего поделать нельзя, так что она просто будет занимать место на клавиатуре.
- Insert перенесем на F13.
- Print Screen на F14.
- Break на F15 (Pause работать не будет, только комбинация Ctrl+Break).
Далее меняем местами Alt и Command, что бы было привычнее.
Ну и чуть чуть мультимедиа:
- F16 – уменьшить громкость
- F17 – увеличить громкость
- F18 – Отключить звук (mute)
Для всех этих действий можно воспользоваться готовыми программами, на пример SharpKeys, суть их работы заключается в правке ветки реестра [HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout], но некоторые действия с помощью этих программ задать не получается (на пример назначить клавише F15 действие Break).
Попробуем разобраться что же это за параметр реестра и как самому задать необходимые клавиши.
В ветви реестра HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout есть двоичный параметр с именем “Scancode Map”. Он имеет следующую структуру:
- Первые 8 байт заполнены нулями 00,00,00,00,00,00,00,00
- Девятый байт равен количеству клавиш, которые необходимо переназначить + 1, т.е. если надо переназначить 2-е клавиши, то девятый байт равен 03
- 10, 11, 12 так же заполнены нулевыми значениями
- Далее необходимо определить шестнадцатеричные скан-коды клавиш, которые вы хотите переназначить. Допустим, вы хотите изменить функцию клавиши Right Ctrl на Caps Lock. Находим код Right Ctrl – 1D E0 и код Caps Lock – 3A 00. Теперь дописываем в параметр “Scancode Map” сначала значение Caps Lock, а затем значение Right Ctrl.
- Затем осталось дописать в конец параметра еще четыре нулевых байта.
Для примера с переназначеним Right Ctrl на Caps Lock параметр должен выглядеть так: 00,00,00,00,00,00,00,00,02,00,00,00,3A,00,1D,E0,00,00,00,00.
Чтобы переназначить более чем одну клавишу, необходимо таким же образом просто добавлять в конец параметра пары кодов клавиш (вначале клавишу “на которую”, затем клавишу “с которой”). Например, чтобы переназначить Caps Lock на Left Shift и Left Alt на Backspace одновременно, параметр должен выглядеть так: 00,00,00,00,00,00,00,00,03,00,00,00,2A,00,3A,00,0E,00,38,00,00,00,00,0 0.
Чтобы просто заблокировать клавишу, следует переназначить её на “00,00”.
Чтобы изменения вступили в силу, необходимо перезагрузить компьютер. Можно переназначить клавиши и для конкретного пользователя. В этом случае параметр “Scancode Map” следует разместить в ветви HKEYCURRENTUSER\Keyboard Layout, а для вступлений изменений в силу будет достаточно перелогиниться.
Вот некоторые кода:
e0 1c (Keypad Enter) | 1c (Enter) |
e0 1d (RCtrl) | 1d (LCtrl) |
e0 2a (fake LShift) | 2a (LShift) |
e0 35 (Keypad-/) | 35 (/?) |
e0 36 (fake RShift) | 36 (RShift) |
e0 37 (Ctrl-PrtScn) | 37 (*/PrtScn) |
e0 38 (RAlt) | 38 (LAlt) |
e0 46 (Ctrl-Break) | 46 (ScrollLock) |
e0 47 (Grey Home) | 47 (Keypad-7/Home) |
e0 48 (Grey Up) | 48 (Keypad-8/UpArrow) |
e0 49 (Grey PgUp) | 49 (Keypad-9/PgUp) |
e0 4b (Grey Left) | 4b (Keypad-4/Left) |
e0 4d (Grey Right) | 4d (Keypad-6/Right) |
e0 4f (Grey End) | 4f (Keypad-1/End) |
e0 50 (Grey Down) | 50 (Keypad-2/DownArrow) |
e0 51 (Grey PgDn) | 51 (Keypad-3/PgDn) |
e0 52 (Grey Insert) | 52 (Keypad-0/Ins) |
e0 53 (Grey Delete) | 53 (Keypad-./Del) |
e0 5b (LeftWindow) |
e0 5c (RightWindow) |
e0 5d (Menu) |
Set-1 make/break | Set-2 make/break | |
Power | e0 5e / e0 de | e0 37 / e0 f0 37 |
Sleep | e0 5f / e0 df | e0 3f / e0 f0 3f |
Wake | e0 63 / e0 e3 | e0 5e / e0 f0 5e |
Ну а решение проблемы с клавиатурой будет выглядеть так:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,0b,00,00,00,52,e0,64,00,37,
e0,65,00,\ 46,e0,66,00,5b,e0,38,00,38,00,5b,e0,5c,e0,38,e0,38,e0,5c,
e0,2e,e0,67,00,30,\ e0,68,00,20,e0,69,00,00,00,00,00
Классная статья! У меня клавиатура модели А1016, клавиши другие, но проблемы те же. Ничего не менял, просто привык к тому что работает. А теперь, прочитав такие тонкости, думаю сделаю всё на свой лад.
статья и правда класнная,но нет файла реестра который можно просто запустить и установить данную клаву?я просто не дружу с реестром…
заранее спасибо,ответ буду ждать по адресу bss-01@mail.ru
А где можно посмотреть коды,чтобы переназначить клавиши?
У меня клавиатура Apple Wireless Keyboard, то есть она работает через блютус, отсутствуют кнопки делит, номе, а также отдельный блок цифровых клавиш.
Хотелось бы сделать кнопку делит из кнопки открытия диска (она как раз над бэкспейсом), а также добавить кнопки номе, енд, инсерт, принт скрин.
Из свободных кнопок только кнопка fn и кнопка "/ или в английской раскладке | " кнопки / почему то две, поэтому одна лишняя.
Также по умолчанию в медиаплеере кнопки F7, F8, F9 работают со звуком, а хотелось бы переназначить их на F10, F11, F12, где указаны соответствующие вторые значения. Ну и добавить управление воспроизведением на кнопки F7, F8, F9; добавить управление подсветкой экрана на кнопки F1, F2.
Возможно ли это сделать путем манипуляций с реестром, либо же только специальные программы нужны?
На кнопку открытия диска у меня не получилось ничего назначить, а в остальном можно поиграться с утилиткой Sharp Keys http://www.randyrants.com/sharpkeys/ она выполняет все тоже самое, но в относительно понятном интерфейсе.
Здравствуйте! Скажите Сергей, а будет ли работать F8-F12 в Биос (выбор устройства при загрузке с которого грузиться и т.д.)
У меня работают
А для Windows 7 reg файл действителен?
да
Добрый день!
У меня блютуз клавиатура apple. Установлена OC Win 7. Возможно ли на кнопку F3 повесить функцию переключения окон (Win+Tab). Если да, то как это сделать.
Сергей добрый вечер..
а можно ли попросить сделать рег файл со всеми изменениями кроме: оставить на месте клавиши ALT и CMD… как есть. заранее огромное спасибо.
и еще вопрос. как откатиться к старым значениям?
если придется ставить win клавиатуру
большое спасибо за помощь. под Win7 параметра Scancode Map у меня в реестре не существовало совсем, но его можно просто создать. все работает прекрасно.
Александр писал:
Сергей добрый вечер..
а можно ли попросить сделать рег файл со всеми изменениями кроме: оставить на месте клавиши ALT и CMD…как есть.
Сам тоже склоняюсь к такому решению:
достаточно из регфайла удалить:
5b,e0,38,00,38,00,5b,e0,5c,e0,38,e0,38,e0,5c,e0,
поясню
5b,e0,38,00, lalt>lwin
38,00,5b,e0, lwin>lalt
5c,e0,38,e0, ralt>rwin
38,e0,5c,e0, rwin>ralt
спасибо!
Сегоднгя подрубил клаву Apple Keyboard (MB110) с цифровым блоком клафиш!
Windows 7 x86, винда сама нашла все дрова и все поставила, клава работает отлично, с привычной для РС клавиатур раскладкой (странно, читал посты, и обычно все это делали вручную, а у меня все стало автоматом!!))), но одно "НО "! Хотелось бы добавить лишь клавишу "PrintScreen ", например на клавишу F13… больше ничего не интересует и не тревожит… Как это сделать?
В ветке реестра по данному пути "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout ", имеются еще 2 папки…
"DosKeybCodes " и "DosKeybDs "…
Где и что менять – не пойму…
Подскажите, как назначить ПринтСкрин на клавишу F13 ?
И еще одно, а это нормально, что встроенный в клавиатуру ХАБ не работает с Флэхами? Система, при вставлении флэшки пишет, что не хватает мощности и энергии, что можно сделать с этим?
> Хотелось бы добавить лишь клавишу
> "PrintScreen ", например на клавишу F13
как то так, ну или с помощью Sharp Keys (http://www.randyrants.com/sharpkeys/)
REGEDIT4
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]
"Scancode Map "=hex:00,00,00,00,00,00,00,00,02,00,00,00,37,e0,64,00,00,00,00,00,00
> И еще одно, а это нормально, что встроенный в
> клавиатуру ХАБ не работает с Флэхами? Система,
> при вставлении флэшки пишет, что не хватает
> мощности и энергии, что можно сделать с этим?
Да, на PC у меня ни разу не заработал хаб, клавиатура же определилась как клавиатура, а не дополнительный набор усб портов, как это происходит в случае с хабом 😉
день добрый Сергей!
как настроить F19 на Калькулятор. с помощью Sharp Keys
Добрый вечер Сергей !
Подскажите пожалуйста как определить + на прибавление громкости(громче) в wmp, а – в уменьшении(тише)?
Добрый Вечер! Помогите, пожалуйста… Программа, которая некоторые клавиши меняет у меня не работает. Пожалуйста, пропишите в файлике Управление музыкой на F16.17.18 и переключение треков на F13.14.15 Помогите, пожалуйста. Подарили клавиатура а разобраться так и не смог
Спасибо большое! Наконец-то Ctrl-Break работает и на эппл-клавиатуре!
Добрый день Сергей! Я нашел решение как кнопку Fn замапать как Insert и вернуть остальные клавиши типа ScrollLock. Поищите в гугле драйвер hidfalum. Специально для нашей родненькой клавы написан.
Сергей, а можете подсказать как на клавишу, открывающую сидиром, запрограммировать переход в спящий режим?
Как откорректировать выложенный вами реестр???
Если не сложно, можно на почту ty333@мэйл точка ру
В windows 8 работало нормально, обновил до 8.1 и перестало работать… Сделайте пожалуйста куп файл под windows 8.1
Тупанул, все работает, просто копьютер не перезагрузил…
Большое спасибо!!! Очень полезная статья.
ну, вообще-то, Hidfalum driver всё делает еще лучше – в том смысле, что Fn клавиша работает нормально как Insert и не "бесполезна " (как написано в этой статье)
Спасибо!!!!
Все работает, а как откатать обратно? Не понравилось(
Поддерживаю последний вопрос!! Как откатиться назад? Выложите файл пож-та!
Ребят помогите завести еще USB порты cбоку
не чего не понял