Сейчас на форуме: bartolomeo, Adler, johnniewalker, NIKOLA (+6 невидимых)

 eXeL@B —› Софт, инструменты —› Проги для переназначения клавиш
Посл.ответ Сообщение

Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 09 августа 2007 09:09
· Личное сообщение · #1

Приветствую.
Знает ли кто и чем пользуется для переназначения кнопок клавы на другие???

Т.е. нажал допустим "a", а прога думает, что "b" ;)



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 09 августа 2007 09:18
· Личное сообщение · #2

Rustem пишет:
Знает ли кто и чем пользуется для переназначения кнопок клавы на другие???

Т.е. нажал допустим "a", а прога думает, что "b" ;)

API, Hooks, хуки... готовой проги не видел.

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 117.1 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 09 августа 2007 09:59
· Личное сообщение · #3

Rustem

devicex.net/modules.php?name=Articles&pa=showarticle&articles_id=1

гугль рулит

-----
Security through obscurity is just an illusion





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 09 августа 2007 12:39
· Личное сообщение · #4

Переназначение клавиш с помощью записи в реестре (Win 2000/XP/2003)
Существующая раскладка клавиатуры может по разным причинам не удовлетворять пользователей. В комплекте с мультимедийными клавиатурами идут специальные утилиты, позволяющие переназначать клавиши или привязывать к клавишам различные действия. Но если такой утилиты нет под рукой или у вас не мультимедийная клавиатура, можно воспользоваться описанной здесь методикой.

В ветви реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
создайте двоичный параметр с именем "Scancode Map". Для начала необходимо знать, какое количество клавиш вы хотите переназначить. В параметр "Scancode Map" записываем следующие значения: 00,00,00,00,00,00,00,00,02. Последний (девятый) байт в этой записи обозначает количество клавиш и равен количеству клавиш +1, т.е. если стоит 02, то переназначена одна клавиша, если 03, то переназначены две клавиши и т.д. Далее дописываем еще три нулевых значения. Теперь параметр "Scancode Map" выглядит так: 00,00,00,00,00,00,00,00,02,00,00,00. Далее необходимо определить шестнадцатеричные скан-коды клавиш, которые вы хотите переназначить. Допустим, вы хотите изменить функцию клавиши Right Ctrl на Caps Lock. Находим код Right Ctrl - 1D E0 и код Caps Lock - 3A 00. Теперь дописываем в параметр "Scancode Map" сначала значение Caps Lock, а затем значение Right Ctrl. Затем осталось дописать в конец параметра еще четыре нулевых байта. Теперь параметр должен выглядеть так: 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". Трудно сказать, сколько клавиш одновременно можно переназначить таким способом, но возможно, что это число ограничивается размером двоичного параметра реестра в 255 символов.

Чтобы изменения вступили в силу, необходимо перезагрузить компьютер. Можно переназначить клавиши и для конкретного пользователя. В этом случае параметр "Scancode Map" следует разместить в ветви
HKEY_CURRENT_USER\Keyboard Layout
а для вступлений изменений в силу будет достаточно перелогиниться.

Не помню источника. Валялось на винте старом лет 100 уже.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 09 августа 2007 12:57
· Личное сообщение · #5

Crawler:
Rustem пишет:
а прога думает

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

-----
invoke OpenFire




Ранг: 113.4 (ветеран)
Активность: 0.130
Статус: Участник
Ветеран

Создано: 09 августа 2007 13:03
· Личное сообщение · #6

А если похукать нажатие клавиши, а дальше переаь другое значение? Работать должно...

-----
моя подпись!





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 09 августа 2007 13:30
· Личное сообщение · #7

locker_fx
Хых. Так а AlexZ о чем писал?

AlexZ пишет:
API, Hooks, хуки... готовой проги не видел.


-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 11 августа 2007 10:15
· Личное сообщение · #8

В общем те проги по ссылке не то ;)
Одна может переназначать, но с ней не работает.

Сперва думал что DINPUT юзается. Лог показал, что создается устройство SysMouse и все(короче компонент для делфи)
Потом хукал и логил GetAsyncKeyState, GetKeyState, но в виртуальных кодах совсем нет тех кнопок, которые в проге.

Остается одно-сообщения окну. (В процедуру какого окна смотреть? главного?)

Может я что-то пропустил и есть еще какие-либо методы опроса клавы??




Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 11 августа 2007 12:00
· Личное сообщение · #9

Может кому сгодится:
Программа позволяет поменять местами клавиши или совсем отключить любую клавишу. В том числе Win-клавиши, Power и др. Не требует постоянного наличия в памяти! Фактически, программа предоставляет визуальный интерфейс к ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\Scancode Map
ВНИМАНИЕ! Программа работает только под Windows 2000/XP и последующих!

letitbit.net/download/b066a6101024/KeyRemapper-v1-2.Zip.html

-----
Don_t hate the cracker - hate the code.




Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 11 августа 2007 13:30
· Личное сообщение · #10

посмотрел внимательно на экзешник, выяснил, что юзается компонент DXINPUT.....



Ранг: 59.9 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 11 августа 2007 13:44
· Личное сообщение · #11

ruinst.net.ru/ner/plusodin.rar
Вот пример для работы с хуками...



Ранг: 38.2 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 11 августа 2007 14:08
· Личное сообщение · #12

Надо устновить глобальный хук клавиатуры (SetWindowsHookEx), и если процес нужный (найти по GetActiveWindow и раскрутить) то фильтровать сообщения. Думаю что если программа использует GetKeyState, то работать хук не будет. Тогда внедрить Dll и в таблице импорта заменить GetKeyState на функцию из Dll где посылать проге то что надо. Этой длл может быть уже внедренная, где SetWindowsHookEx. Dll должна содержать сецию данных с атрибутом SHARED. Помню в 95-м это работало, а ХР - надо пробовать.




Ранг: 327.3 (мудрец)
Активность: 0.250
Статус: Участник

Создано: 11 августа 2007 16:53
· Личное сообщение · #13

где-то видел заметку
как отключить Капс Лок средствами винды (реестр)
никто не встречал такой ключ ??

-----
in search of sunrise




Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 11 августа 2007 17:16
· Личное сообщение · #14

bloom
Создать в реестре HKEY_LOCAL_MACHINE/SYSTEM/Current Control Set/Control/Keyboard Layot двоичный параметр Scancode Map со значением 00 00 00 00 00 00 00 00 02 00 00 00 00 00 3a 00 00 00 00 00
Перезагрузиться.
Всё, CAPS LOCK не работает.

-----
SaNX





Ранг: 327.3 (мудрец)
Активность: 0.250
Статус: Участник

Создано: 11 августа 2007 17:21
· Личное сообщение · #15

SaNX
гуд, а что-нить еще таким способом можно отключить ?

-----
in search of sunrise





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 11 августа 2007 18:08
· Личное сообщение · #16

bloom пишет:
гуд, а что-нить еще таким способом можно отключить ?

johnhaller.com/jh/useful_stuff/disable_caps_lock/

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 11 августа 2007 22:58
· Личное сообщение · #17

Никто не разбирался с подсистемой ввода- на дельфи?

Прогнал через DeDe, все ведет к TControl:TMessageProc. Узнать бы, как в ней передаются обработчики клавиш...




Ранг: 327.3 (мудрец)
Активность: 0.250
Статус: Участник

Создано: 12 августа 2007 00:30
· Личное сообщение · #18

Кстати интересная программа Total Game control
может переназначить клавиши для каждого отдельно взятого приложения

-----
in search of sunrise




Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 12 августа 2007 16:25
· Личное сообщение · #19

В общем, тупо написал враппер, и добавил свой код


 eXeL@B —› Софт, инструменты —› Проги для переназначения клавиш
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати