![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
Помогите, пожалуйста решить такую проблему: купил мультимедийную клавиатуру с расширенными клавишами для управления Media, WWW, и прочими программами. Вопрос: как программно считать эти расширенные клавиши? bioskey возвращает при нажатии такой клавиши два раза подряд 0х5773. getch - два поряд раза 83 (как будто два раза поряд нажата "S"); ЧТО ДЕЛАТЬ Заранее благодарен. --------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
Может можно отходить от того, что нажатия случаются быстро, почти мгновенно.
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
что тебя удевляет на клавиши управления курсором клава тоже два кода выдает один из которых буква.
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 1 Всего: 62 |
Не это не те расширенные коды. Там первый-нуль. А тут кто знает?
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
а чем не подходит двойное "с"
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Tamerlann |
|
|||
|
Unregistered |
Кажется Вы не правильно меня поняли: все клавиши два раза возвращают одно и то же. Есть клавиша WWW - она возвращает два раза 83. клавиша Mute - возвращает два раза 83. Клавиша ....... и т.д.
|
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
вот это уже интереснее.
видать она еще что-то кудато возвращает, или винда делает подмену. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Tamerlann |
|
|||
|
Unregistered |
2) Про винду не понял... Это как?
1) А куда она ещё что-то может возвращать? Может (хотя и глупо) в какой-нить регистр? Может ещё и через INTerrupt. ? |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
1. через какойто другой порт
2. винда получает правильную комбинацию кодов, и после этого приложению посылает 2 "с" что бы приложение знало что через другой порт необходимо взять результат нажатия. Этом мои предположения. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Tamerlann |
|
|||
|
Unregistered |
Интерестно... А какой это может быть порт? Может их как отсканить можно? |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
вот этого я уже не знаю.
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Tamerlann |
|
|||
|
Unregistered |
А кто знает? Где Он?
ПОМОГИТЕ!!! |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
жди, и он придет
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| DrMasik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 13.12.2002 Репутация: нет Всего: нет |
НУ с клавой тут дело состоит таким образом, во сказанул....
То что ты хо - прочитать клаву, можно на АСМЕ сделать, почти раз плюнуть. если захо доку - у мя есть свистни только и она будет у тебя. Там все ответы на выше задаваемые вопросы. |
|||
|
||||
| DrMasik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 13.12.2002 Репутация: нет Всего: нет |
У мя возник такой вопрос:
Почему клава возвращает двойное нажатие - непорядок... Не помню я, чтобы она это могла делать сама... |
|||
|
||||
| Tamerlann |
|
|||
|
Unregistered |
||||
|
||||
| Dead moroz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 26.1.2003 Репутация: нет Всего: нет |
Да пусть себе возвращает
Это только всем кажется что 2с а это код такой... |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: нет Всего: 17 |
ну если нетыркать пальци куда ненадо всио в пориадке будет так э есть идеиа насчот клавы если у тебиа клава мултимидиынаыа как у меныа так попробуж посмотреть в дллушки которыэ тебе надо было поставить штобы кнопочки типа www работали... там моэт наиыдиош што надо..... сам незнаю просто если ето возможно но непробовал...
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
| brb |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 7.1.2003 Репутация: нет Всего: нет |
ДОС
Читайте инт 9 и инт 22(дестяричные) Виндос я не знаю --------------------
Сказки - удивительная вещь! Самое удивительное, что в них верят только маленькие дети, которым их рассказывают мамы и мамы, которым их рассказывают подросшие дети. |
|||
|
||||
| pish_r |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
А у меня вообще есть подозрение, что у таких клав драйвера, а сними наверняка есть API.
--------------------
________________-=тУт быЛ pisH_r=- |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: нет Всего: 17 |
pish_r ну вот очиом и иа пишу, у мениа они есть дривера на клаву, покопатсиа можно вот только ыа чувствуыу што у нас моэт клавы разныые а так рад бы помочь
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Virtual key Description - иногда полезно смотреть в MSDN
10h Previous Track (Media) 19h Next Track (Media) 20h Mute (Media) 21h Calculator 22h Play/Pause (Media) 24h Stop (Media) 2Eh Volume - 30h Volume + 32h Web/Home (Internet) 5Fh Sleep 65h Search (Internet) 66h Favorites (Internet) 67h Refresh (Internet) 68h Stop (Internet) 69h Forward (Internet) 6Ah Back (Internet) 6Bh My Computer 6Ch Mail 6Dh Media -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: нет Всего: 17 |
man2002ua ty prav nado zagjadyvat' pochsche na nuznye saity......
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
А если не смотреть на вирт. клавиши, то на WM_KEYDOWN, такие клавиши как ACPI Sleep/Wake тоже возвращают уникальные значение.
Например Wake возвращает 0163xxxx (scan code = 01 63) в lParam. В чем вообще проблема-то? -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: нет Всего: 17 |
U menia problem uje netu vse okei.....
-------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
| kruchinin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 19.4.2003 Репутация: нет Всего: нет |
Не буду тебе долго объяснять, т.к. походу тебе надо чеоез ДОС
Bioskey личше не программировать! На тебе библиотеку для работы на уровне портов с клавиатурой test.cpp #include <bios.h> #include "keyboard.h" main() { int a=0; Init(); do{ if (a>0) a=bioskey(0); a=bioskey(1); if (klavi[1]==1) break; }while(1); Close(); } keyboard.h #include <dos.h> #if !defined(__KEYBOARD_H) #define __KEYBOARD_H #define INTR 0x09 char klavi[128]; void interrupt ( *oldhandler)(...); void interrupt handler(...){ //пусто asm in al,60h; if (_AL<0x80) klavi[_AL]=1; else klavi[_AL-0x80]=0; asm{ in al,61h push ax or al,80h out 61h,al pop ax out 61h,al mov al,20h out 20h,al } }; Init(){ disable(); oldhandler = getvect(INTR); setvect(INTR, handler); enable(); } Close(){ disable(); setvect(INTR, oldhandler); enable(); } #endif посети мой сайт vidikon.by.ru |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Сегодня с прогой под дос далеко не уедешь
Вопрос был как засечь нажатие под виндами. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |