Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Коды расширенных клавиш, Как считать нажатие расширенных клавиш? 
:(
    Опции темы
Tamerlann
  Дата 25.12.2002, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 10.11.2002
Где: Минск, Беларусь

Репутация: нет
Всего: 2



:baaa
Помогите, пожалуйста решить такую проблему:
купил мультимедийную клавиатуру с расширенными клавишами для управления Media, WWW, и прочими программами.
Вопрос: как программно считать эти расширенные клавиши?
bioskey возвращает при нажатии такой клавиши два раза подряд 0х5773. getch - два поряд раза 83 (как будто два раза поряд нажата "S");
ЧТО ДЕЛАТЬ???
Заранее благодарен.
--------------------
http://timursdev.blogspot.com/ 
PM MAIL WWW Skype   Вверх
neutrino
Дата 26.12.2002, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Может можно отходить от того, что нажатия случаются быстро, почти мгновенно.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Step
Дата 26.12.2002, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



что тебя удевляет на клавиши управления курсором клава тоже два кода выдает один из которых буква.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
neutrino
Дата 26.12.2002, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Не это не те расширенные коды. Там первый-нуль. А тут кто знает?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Step
Дата 27.12.2002, 03:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



а чем не подходит двойное "с"


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Tamerlann
  Дата 28.12.2002, 18:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Кажется Вы не правильно меня поняли: все клавиши два раза возвращают одно и то же. Есть клавиша WWW - она возвращает два раза 83. клавиша Mute - возвращает два раза 83. Клавиша ....... и т.д.  :exclamation
  Вверх
Step
Дата 28.12.2002, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



вот это уже интереснее.

видать она еще что-то кудато возвращает, или винда делает подмену.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Tamerlann
  Дата 29.12.2002, 00:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











2) Про винду не понял... Это как?

1) А куда она ещё что-то может возвращать? Может (хотя и глупо) в какой-нить регистр? Может ещё и через INTerrupt. ?

:0
  Вверх
Step
Дата 29.12.2002, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



1. через какойто другой порт
2. винда получает правильную комбинацию кодов, и после этого приложению посылает 2 "с" что бы приложение знало что через другой порт необходимо взять результат нажатия.

Этом мои предположения.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Tamerlann
  Дата 29.12.2002, 01:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











:huh
Интерестно...
А какой это может быть порт? Может их как отсканить можно?
  Вверх
Step
Дата 29.12.2002, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



вот этого я уже не знаю.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Tamerlann
Дата 29.12.2002, 02:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А кто знает? Где Он?


ПОМОГИТЕ!!!
  Вверх
Step
Дата 29.12.2002, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



жди, и он придет


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DrMasik
Дата 30.12.2002, 04:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 13.12.2002

Репутация: нет
Всего: нет



НУ с клавой тут дело состоит таким образом, во сказанул....
То что ты хо - прочитать клаву, можно на АСМЕ сделать, почти раз плюнуть. если захо доку - у мя есть свистни только и она будет у тебя. Там все ответы на выше задаваемые вопросы.
PM MAIL ICQ   Вверх
DrMasik
Дата 30.12.2002, 04:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 13.12.2002

Репутация: нет
Всего: нет



У мя возник такой вопрос:
Почему клава возвращает двойное нажатие - непорядок... Не помню я, чтобы она это могла делать сама... :sarcasm
PM MAIL ICQ   Вверх
Tamerlann
Дата 15.1.2003, 08:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











C удовольствием приму все доки по этой теме: [email protected]

Спасибо!
  Вверх
Dead moroz
  Дата 26.1.2003, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 26.1.2003

Репутация: нет
Всего: нет



Да пусть себе возвращает smile.gif по дороге не поймать.
Это только всем кажется что 2с а это код такой...
adv/168.gif
PM MAIL   Вверх
Gannibal
Дата 17.4.2003, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



ну если нетыркать пальци куда ненадо всио в пориадке будет так э есть идеиа насчот клавы если у тебиа клава мултимидиынаыа как у меныа так попробуж посмотреть в дллушки которыэ тебе надо было поставить штобы кнопочки типа www работали... там моэт наиыдиош што надо..... сам незнаю просто если ето возможно но непробовал...


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
brb
Дата 17.4.2003, 04:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 7.1.2003

Репутация: нет
Всего: нет



ДОС
Читайте инт 9 и инт 22(дестяричные)
Виндос я не знаю
--------------------
Сказки - удивительная вещь! Самое удивительное, что в них верят только маленькие дети, которым их рассказывают мамы и мамы, которым их рассказывают подросшие дети.
PM MAIL   Вверх
pish_r
Дата 17.4.2003, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



А у меня вообще есть подозрение, что у таких клав драйвера, а сними наверняка есть API.
--------------------
________________-=тУт быЛ pisH_r=-
PM MAIL   Вверх
Gannibal
Дата 17.4.2003, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



pish_r ну вот очиом и иа пишу, у мениа они есть дривера на клаву, покопатсиа можно вот только ыа чувствуыу што у нас моэт клавы разныые а так рад бы помочь


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
man2002ua
Дата 17.4.2003, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 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



--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Gannibal
Дата 17.4.2003, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



man2002ua ty prav nado zagjadyvat' pochsche na nuznye saity...... smile.gif


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
man2002ua
Дата 17.4.2003, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



А если не смотреть на вирт. клавиши, то на WM_KEYDOWN, такие клавиши как ACPI Sleep/Wake тоже возвращают уникальные значение.
Например Wake возвращает 0163xxxx (scan code = 01 63) в lParam.
В чем вообще проблема-то?


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Gannibal
Дата 17.4.2003, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



U menia problem uje netu vse okei.....


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
kruchinin
Дата 19.4.2003, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
DENNN
Дата 19.4.2003, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Сегодня с прогой под дос далеко не уедешь smile.gif
Вопрос был как засечь нажатие под виндами.
PM ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1105 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.