Страница: 1 |
Страница: 1 |
Вопрос: Работа с нестандартной клавиатурой
Добавлено: 20.03.07 14:42
Автор вопроса: Arseny | ICQ: 298826769
Имеется клава Defender KM-970.
На ней присутствуют 18 (не считая 3 управления питанием) кнопок. Стандартные дрова позволяют указать действие только на 6 из них, причем из выбора действий - только либо запуск программы, либо урл, либо стандартная команда драйвера.
Насчет вопроса вы наверное уже догадались: можно состряпать СВОЮ программу для обработки действий клавиатуры? причем желательно на VB6.
Ответы вроде "DDK тебе в руки" не приветствуются.
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 20.03.07 16:41
Крутая клава. Мож фотку прислать? Я вот меньше чем 103 клавиши в жизни не видел. +))
теперь в тему: если ты имеешь ввиду DirectX под DDK, то ты ошибаешься, как раз DirectInput тебе будет в пору. Даже седьмой.
Номер ответа: 2
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #2
Добавлено: 20.03.07 17:57
При этом, сильно не в тему. Что такое DDK, можно было выяснить и самому, вместо упоминания не к месту DirectX. Равно как и найти в инете фотку Defender KM-970, коих немало.
Ответ на этот вопрос зависит от того, что делают те самые стандартные дрова при нажатии этих клавиш. Посылают ли они что-то в системную очередь сообщений. Если нет, то нет; если да, это регистрируется как простое нажатие простой клавиши.
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 20.03.07 19:15
P.S.
И что же есть все-таки DDK?
Номер ответа: 4
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #4
Добавлено: 20.03.07 19:33
Я пробовал, она на этих кнопках вообще молчит...
Номер ответа: 5
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #5
Добавлено: 20.03.07 19:39
А я вот на таких оч-чень много времени провел:
БК-0010, ZX Spectrum, Агат....
Driver Development Kit
Номер ответа: 6
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #6
Добавлено: 20.03.07 20:45
Да, кстати, ежели просматривать нажатие клавиш на событии KeyUp или KeyDown, то все дополнительные кнопки выдают KeyCode=251
Номер ответа: 7
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #7
Добавлено: 20.03.07 22:06
' противно, конечно, но что выдает клава при этом
Sub main()
Dim mess As MSG
Do Until GetMessage(mess, 0, 0, 0) = 0
Call TranslateMessage(mess)
Call DispatchMessage(mess)
If mess.message = WM_KEYDOWN Then
 ebug.Print mess.lParam & " " & mess.wParam
End If
Loop
End Sub
Номер ответа: 8
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #8
Добавлено: 20.03.07 22:47
По порядочку:
Это - переназначаемые кнопки(стандартной прогой):
1-я кнопка 23724033 166 'IE Back
2-я кнопка 23658497 167 'IE Forward
3-я кнопка 23592961 169 'IE Stop
4-я кнопка 23527425 168 'IE Refresh
А это - нет:
17825793 177 'Previous
18415617 176 'Next
19005441 179 'Play/Pause
19136513 178 'Stop
Хм... в общем то все отображаются.
Так мне чего, этими цифирями оперировать?
И, кстати, на некоторые кнопочки привязаны горячие клавиши windows, типа поиск, запуск почтового клиента и т.п. Можно ли их отрубить в windows'e?
Номер ответа: 9
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #9
Добавлено: 20.03.07 23:13
Э-э-э... А из других приложений енто событие не ловится... Как быть?
Номер ответа: 10
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #10
Добавлено: 21.03.07 00:03
писать dll, в ней хук на клаву. Exe в автозагрузку, и обрабатывать хук.
Номер ответа: 11
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #11
Добавлено: 21.03.07 00:34
Насчет цифирей. Все они документированы.
И раз уж они попадают в цикл сообщений, значит можно их переназначить или заблокировать до того как они будут транслироваться системой.
Номер ответа: 12
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #12
Добавлено: 21.03.07 13:08
Всех благодарю, будем копать глобальные хуки...