Pull to refresh

Comments 81

По просьбе Для ленивых, добавил в UPD2 перенос кнопки для снятия Скриншотов на кнопку Windows.
Когда-то я писал программу Keyboard Maniac, она дает приятный интерфейс для настройки Keyboard Layout ключа (раздел «Раскладка клавиатуры»). За одно и скан коды можно узнать. Способ воистину для ленивых.
Если интересно поищите версию 4.28, она бесплатна.
именно об этой программе я и подумал когда читал статью :) уже года 2 пользуюсь. спасибо вам за нее!
К сожалению со sleep/wake такая шЮтка почему-то не проходит. Менял 63 E0 на 5F E0.
возможно в вашей клаве другой скан-код на эту кнопку.
Снимите свой скан указанной программой. и напишите итоги
«расскажу как без дополнительного установленного ПО»… «вы можете используя программу „KeyboardTest“ от разработчика»
Сам юзаю Keytouch для Logitech Wave в линуксе :)
Придирка не засчитана -) я написал "… а если у вас супер новая клавиатура с кнопками космического происхождения...". Так, как сейчас выходят множества модификаций разных клав, с новыми кнопками, скан-коды которых еще не известны, в таких случаях нужно ПО для определения этого скан-кода. Та что теоретических ПО мы для непосредственного Ремаппинга не используем.
А что делать, когда KeyboardTest не реагирует на то, что мне надо? Вот хочу кнопки громкости переназначить на «следующий/предыдущий трек». А прога не реагирует на их нажатия :(

P. S. А громкость этими кнопками регулируется без проблем.
А может, в случае с громкостью клавиатура вообще не посылает никаких скан-кодов, а напрямую вызывает функции ОС через драйвер клавиатуры? Потому таким способом и не получится переназначить — только через драйвера.
Вообще, интересный подходв реализации ремаппинга был уличен мной как раз в дровишках логитека, правда, для мыши. Стандартными средствами SetPoint мало что можно было сделать, но, если покопатьсся в XML, можно переназначить что угодно куда угодно, даже можно назначить разные функции кнопок на разные программы. Возможно, для клавиатур у логитека тоже нечто похожее есть.
В точку! В ноутбучной проге, что автозагружается и разные Advanced HotKeys ловит отрубил «Advanced Volume» и скан-коды начали ловиться.

Вот только «BIOS Key code», который, как я понял, и нужен, выдаёт нули. «Windows Key code» тут никак не подойдёт?
Windows key code наверняка можно использовать, но надо найти чем. попробую найти значения
Вот это попробуйте, если вы с логитеком боритесь
Спасибо, удобная штука. Отобразила изменения, которые я до этого вручную внёс в реестр (кнопки громкости из приведённой выше таблицы), которые, кстати, ничего не изменили.

Выбрал «Type Key», он считал «00_100» для всех трёх кнопок управления громкостью: up, down и mute. Добавил, что не знает такой кнопки и предложил сходить на сайт за обновлениями.

Вот такая вот ерунда :)

P. S. Logitech Internet 350 Keyboard
ну блин, не обязательно считывать, там же есть кнопки Volume Up,Down,Mute пробуйте их.
их все равно обрабатывает подпрограмма в биос. а потом передает в ОС.
О! Спасибо, не знал, что можно так просто. Я тоже мучаюсь с тем, чтобы ctrl+shift слева нажимать, приходится немножко руку выворачивать :)
Боже, убей тех, кто ставит левый Fn заместо Ctrl
Fn к сожалению не переназначить…
а так бы можно их физически местами переставить если б программно все было как надо
О горе мне… я только этим и горел читая пост… :(
проблема в том, что обработка Fn дальше биоса не уходит. Так что вариант один, как мне кажется, патчить БИОС. Однажды мне сказали, что видели подобное решение, но сам я не встречал.
У меня Samsung Q320. Особенность местных клавиш Fn — они не работают без установки программы Magik Beyboard. То есть клавиши Fn судя по всему обрабатываются в этом буке программно. Только вот незадача — в программу зашиты стандартные комбинации клавиш и изменить их нельзя. А остальные программы не видят клавиши Fn.
програмно обрабатывается скан-код выдаваемый операционой системе сочетанием клавиш Fn+(другая-кнопка). Отдельно нажатие Fn не передаётся и отловить его врядли получится. Буду рад если окажется, что я ошибаюсь, но это маловероятно.
Кстати говоря, на моём ноутбуке (Toshiba) он же только и видит мультимедийные клавиши.

Mini how-to от меня:

1. В свой скрипт (можно в тот пример, что создаётся при первом запуске) добавляем строчку
#InstallKeybdHook

2. Открываем окно AHK (щёлкаем по иконке в трее) и жмём Ctrl+K.

3. Перед нами список событий клавиатуры. Новые добавляются вниз, обновление по F5.

Для Fn получили:
Virtual Key = 0xFF
Scan Code = 174 (0xAE)

Для Play/Pause:
Virtual Key = 0xFF
Scan Code = 177 (0xB1)

Для Stop:
Virtual Key = 0xFF
Scan Code = 112 (0x70)

Не знаю, кому это может быть интересно, но тем не менее:
Virtual Key 0xFF, согласно этому списку, означает мультимедийные клавиши.
Из Keyboard Scan Code Specification (онлайн), Appendix C: USB Keyboard/Keypad Page (0x07), видно, что SC 112 — это некий Keyboard F21, а SC 174 и SC 177 находятся в зарезервированной области.

Не пойму, зачем было использовать свои сканкоды для Play/Pause и Stop, когда для этого уже существуют отдельные Virtual key = 0xB3 и 0xB2.
Точнее, последняя фраза должна звучать так:
Не пойму, почему для Play/Pause и Stop (ну и Next, Prev тоже) нельзя было сразу назначить правильные Virtual Key Code.

В AHK это можно сделать так:

sc177::
Send {vkB3}
return

или так:

sc177::
Send {Media_Play_Pause}
return

Но если я не хочу держать перманентно запущенный AHK, этот вариант мне не подходит.
К сожалению с яблоклавой все еще сложнее, т.к. сканкодов вообще нет…
Хм, а у меня на msi wind u100 fn и ctrl меняются местами прошивкой биоса.
на моем Lenovo Y450 (Win 7) удалось при помощи нижеописанной SharpKeys сделать как НАДО :) моя счастлив, мне говорили, что это невозможно
Мне тоже говорили что обе \ имеют один код =) не верь никому пока не проверишь сам.
правда замечен один нехороший глюк — не работает сочетание Ctrl(то есть теперь Fn)+W
странно, мой новопереназначенный Шифт из топика, справляется с функциями Шифта полностью, то есть Шифт+все работает как нужно.
странно, но все работает, если сочетание нажимать быстро. если держать клавишу зажатой — не работает
у меня работает. но скорее всего что то перехватывает состояние этой клавиши у вас. так как у клавиши не один скан-код, если поковырятся в спецификации то будет ясно что при нажатом и отпущенном состоянии одна кнопка имеет два разных скан-кода. А на уровней драйверов клавиатур наверняка есть вычисления press hold и release
скан-код нажатой через SharpKeys уже не переназначается
Причем здесь идиотизм?

Согласен, что backslash рядом с левым шифтом — это идиотизм, но Ctrl сделать ближе к пальцам левой руки — нет.
Заебали ваши предрассудки.
В этой клаве к счастью Fn справа =) они наверное свои ошибки осознают, но полностью от идеи отказываться не хотят. =)
Часто в настройках биосов ноутов (по крайней мере, в Асусах регулярно наблюдал) Fn и Ctrl можно поменять местами.
А я утилитку написал для этого, удобно профили менять для разных программ. Вот только с играми не дружит.
О боже, зачем же так сурово?
У самого клавиатура Logitech Classic 200, мне не нравилось, что над стрелкой вверх расположен инсерт, который нафиг ненужен нигде, а не End. Я переткнул клавиши на клавиатуре, и в системе с помощью утилитки KeyTweak. Не нужно лезть в реестр. После ремапа утилитку можно удалить, для работы она не требуется.
insert это как оказалось тоже дело привычки, и на практике процентов 20 людей используют не CTRL+V а именно SHIFT+INS
Хороший пост.
В итоге у вас, слева, есть два шифта размером с обычную кнопку. Конечно, удобней чем было, но видимо все равно ужасно неудобно, я прав?
да нет, на обычной клаве возможно было бы неудобно, а на этой тонкой, действительно если не смотреть на эти две кнопки, кажется что она одна и не испытываешь неудобств.
Есть очень удобная прога не требующего постоянного наличия в системе или авторана

забыл ссылку — SharpKeys 3

teutonick.ru/download/sharpkeys3.zip

Всего лишь установили, переназначили, ребут и можете сносить…
Не требует знания ключей реестра
я уже потерял надежду переназначить Ctrl на место Fn на своем Lenovo Y450, а эта программа все сделала! спасибо
Fn поменяла??? Интереесно… на моей тошибе не захотела…
я эту прогу указал в посте, правда не указывал версию
Надо попробовать переназначить 2 бесполезных кнопки "€" и "$" над кнопками управления курсором на своем Aspire 5720
"… и перезагрузите ПК"

Хорошо б снабдить все компьютеры с виндой системой обратной связи, чтоб после каждой перезагрузки, вызванной идиотизмом разработчика ОС, по одному программисту М$ сгорало в специальной печи, с трансляцией видео на рабочие места остальных.
ну сейчас мода такая, мак ос теперь тоже после каждого чиха рестартится. А помню было время…
Ландо винда, среди убунтоидов полно советчиков, полагающих, что после изменения настроек иксов или установки какого-либо модуля ядра надо обязательно перезагрузиться… И ведь не ленятся свой бред на видео записываьи на «твойтруба» публиковать
У меня ноутбук, и время от времени я его использую с разными внешними клавиатурами. Можно ли переназначить клавиши для конкретной клавиатуры? Было бы очень полезно.
ну для этого наверняка есть какие-то утилиты. Ну или попробуйте спецификации почитать, может это как-то через реестр оформить можно
могу конечно посоветовать сделать настройки для каждой клавы.
Создать конфиг изменяемых сканов в отдельный reg-файл как у яказал в посте. и обозвать из например:
Standart.reg
Logitech_illum.reg
Genius_Slim_KB-100.reg
и т.д. и запускать тот рег который соответствует вашей подключенной клавиатуре.
А меня бесит когда Enter как почти как Shift, когда над ним делают клавишу с /
Луч циакринового поноса дизайнерам Logitech?
есть еще такая программа, как MKey
программа хорошая, только разрабатываться перестала…
есть в ней косяк — она регулирует громкость только фронтальных колонок
не-не-не, ее разработка возабновлена(моей радости не было предела, как узнал), и более того жив форум и автор прислущивается к багтреку и фичер-риквесту
да, действительно
поставил 1.1.6

после того, как перешёл с apollo на foobar2000 (в которой есть родные хоткеи), использовал mkey как OSD-индикатор громкости, но вот есть проблема, что через mkey меняется только фронтальный выход осталась, так что выключил пока, до лучших времён :)
А я всегда мечтал о 2-х клавиатурах, подключенных к одной машине. На одной непосредственно работаешь, а на второй — шорткаты клякаешь. Вот это мило бы было. Эххх(
Я, конечно, понимаю, что прошло 10 лет, но, может быть, эта мечта всё ещё актуальна.
Когда-то задался для себя этой целью и нашёл программу HIDMacros. Она как раз отлично справлялась с двумя клавами: на одной можно было поставить шорткаты на клавиши так, что те теряли изначальное предназначение, при этом на другой у клавиш оставался прежний смысл. Даже пользовался какое-то время так двумя клавиатурами, но потом надоело.
Есть, правда, ложка дёгтя: программа больше не развивается автором, а на новых осях уже не работает (личный опыт: на WinXP x86 работала, на Win7 x64 уже нет). Хотя вместо неё автор мутит LuaMacros. Но ей лично я не пользовался, поэтому ничего уже сказать не могу.
Для линукса:
1. Запустить xev, чтобы узнать код клавиши
2. Cоздать файл ~/.xmodmaprc и записать в него

keycode = Shift_L
add shift = Shift_L

3. Выполнить xmodmap ~/.xmodmaprc

немного не в тему, но спрошу:
можно ли как нибудь в линуксе назначить на произвольную клавишу действия копировать/вставить.
п.с. искал очень долго, так и не нашел.
п.п.с. клавиатура a4 kbs-26 — мультимедийная, дров естественно нет :(.
Через настройки wm можно замепить на кнопку с известным кодом запуск скрипта с нужным действием. Пару лет назад в kde3 я это делал через связку dbus+klipper, в wmii через найденный где-то демон на руби.
Все это к мышке тоже относится? Хочу переназначить дополнительные кнопки мыши на клавиатурные кнопки.
если вы пройдете на сайт Sharpkeys там я вчера видел подобную программку лоя мышек. попробуйте.
UFO landed and left these words here
для пользы дела забыли сказать что программа называется
Microsoft Keyboard Layout Creator
UFO landed and left these words here
Огромное спасибо автору — пришел конец мучениям с шифтом :)
Эх… занимался я этим… почему же не захотел писать статью?)

А меня sharp keys (да, я не люблю копаться в реестре с теми нулями) да и она очень адекватно сделана, хотя и требует net зачем-то. Совсем офигели.)

Я с радостью перенес Win чтобы нажимать WIN+R одной рукой,
и поселил чертов caps подальше…

А также сделал себе кнопку, которая в русской раскладке вставляет сразу запятую без шифта. (MS Keyboard layout creator + sharpkeys для переноса Insert который вечно сам нажимался..)
Левая кнопка "\" очень ценна для уркаинского языка потому что на енй по умолчанию располагается буква "Ґ", которую фиг найдешь иначе.
В украинской версии клавиатур логитек на этой клавише твердая буква г
у меня тоже лоджитек, и каждый раз видель слеш возле левого шифта – для меня открытие
Only those users with full accounts are able to leave comments. Log in, please.