|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2007, 20:26 | #1 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Мышь многокнопочная
Возник такой вопрос:
События нажатия мыщью на ListBox (к примеру) можно получить от нажатия левой, правой, средней кнопкой мыши, но у меня на крысе есть две дополнительные кнопочки, и они запылились, возникла проблема: "Как их почистить, тобиш как получить нажатия от этих доп. кнопок, ведь в делфи только три кнопки прописано. Очевидно нужно скорей всего через Api функции получить это нажатие. Если кто-нибудь может что-нибудь подсказать или дать какие-нибудь ссылочки, буду безмерно благодарен.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
10.12.2007, 20:04 | #2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
у меня самого нет такой мыши, но насколько я понял когда ты нажимаешь на одну из этих кнопок, драйвер мыши, имитирует какое-то событие, и фактически о существовании этих кнопок знает только сам драйвер. я даже не знаю для чего эти кнопки (сильно не пинать!), ты лучше поясни что они делают.
|
10.12.2007, 20:10 | #3 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
У меня мышь 10 кнопочная. Левая, Правая, Колесо. Остальные кнопки с зашитым функционалом для мультимедиа (play/pause, громче/тише и т.д.)
Драйвер сам не ставил - ОС сама определила, т.ч. по поводу переназначения этих кнопок не подскажу.
Life is too short, play more...
Как правильно задавать вопросы |
10.12.2007, 20:24 | #4 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
при нажатии на эти кнопки приложению не посылаются сообщения о том, что на них что-то нажато, драйвер сам убавляет или прибавляет звук, отсылает плееру сообщение о том что надо сделать паузу/возобновить. а по сути плеер то не знает что есть такие кнопки и что они нажаты, он только исполняет приходящие ему сообщения.
|
10.12.2007, 22:39 | #5 | |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Цитата:
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
|
11.12.2007, 13:23 | #6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Винда (ХР и 2000) через API поддерживает пятикнопочные мыши с 2 кнопками для навигации вперёд-назад, сообщение WM_XBUTTONDOWN/UP.
Вот эти-самые 2 кнопки для навигации могут и использоватся напрямую через API, но остальное точно через драйвер или (?) через HID (human interface devices), там вроде тока одно сообщение WM_INPUT и специальная структура, короче читать Великий Мануал XButtons: (вперёд-назад) http://msdn2.microsoft.com/en-us/library/ms646245.aspx должно быть в делфи кстати Raw input: (всё остальное) http://msdn2.microsoft.com/en-us/library/ms674827.aspx
пыщь
Последний раз редактировалось JTG; 11.12.2007 в 13:25. |
13.12.2007, 17:20 | #7 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Спасибо! Работает!
Вот на скорую руку накатал прогу:
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
Последний раз редактировалось NoName_emaNoN; 13.12.2007 в 17:54. |
14.12.2007, 10:47 | #8 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Еще чуть - чуть
Коль уж зашла речь о "модных переферийных устройствах", то возникает еще один вопрос:
Есть еще и модная клава с клавишами "Play" "Pause"... И события нажатия этих клавиш не посылаются приложению в фокусе, а каким-то другим способом оповещаются, потому что WINAMP, даже будучи в трее как то получает нажатия этих клавиш и производит определённые действия. Какие будут мысли? У меня есть идея что тут нужны хуки, но я с ними не в ладах. Остаётся надеятся, что есть другие возможности получить эти события?
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
14.12.2007, 11:16 | #9 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Ура!
Всё оказалось намного проще чем я думал:
Надо по таймеру считывать состояние клавишь, узнать коды мультимедийных клавишь, и провеерять если щас нажата, то делать соответствующие действия. Даже не пришлось использовать хуки. Ну вообщем сами посмотрите...
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
14.12.2007, 14:31 | #10 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
Работает... Да не полностью.
Когда окно свёрнуто, или не в фокусе, то считывание не удаётся. В чем проблема не пойму. И еще более странное то, что когда окно не фокусе, ведёшь мышью по окну и жмёшь мультимедийную клавишу, оно работает, а когда мышь не на окне, оно не работает. Что за ....
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Мышь | Михаил Юрьевич | Общие вопросы Delphi | 8 | 09.06.2008 11:23 |
мышь в паскале. | Iceman | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 10.03.2008 14:50 |
Уматная мышь | Sibedir | Свободное общение | 8 | 21.01.2008 15:27 |
мышь хвостатая... | Аlex | Win Api | 14 | 18.01.2008 00:30 |
Мышь | kl45gp | Общие вопросы Delphi | 7 | 16.06.2007 22:47 |