Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 29.09.2013, 01:17   #1
yakobz
 
Регистрация: 15.07.2013
Сообщений: 5
По умолчанию Как считать код с кнопки на клавиатуре?

Заранее извините, если вопрос глупый. Но на данном этапе он поставил меня в тупик. Как считать код с клавиши "left" или "up"? При использовании функции getch() для всех таких кнопок один и тот же код - (-32). Спасибо.
yakobz вне форума   Ответить с цитированием
Старый 29.09.2013, 01:52   #2
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 5,426
По умолчанию

http://stackoverflow.com/questions/1...nd-arrow-codes
Гугл знает всё
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Старый 29.09.2013, 01:59   #3
yakobz
 
Регистрация: 15.07.2013
Сообщений: 5
По умолчанию

Проблема в том, что при использовании функции _getch() у меня на кнопки "up", "left", "down" & "right" все время один и тот же код - 224 или (-32), в зависимости от типа переменной. Есть ли еще какой-нибудь способ узнать код нажатой кнопки? Или можно ли по нажатию кнопки сгенерировать прерывание, и если можно то как?
yakobz вне форума   Ответить с цитированием
Старый 29.09.2013, 02:01   #4
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 5,426
По умолчанию

Я понял Вашу проблему, но у меня возникают сомнения, переходили ли Вы по ссылке
Цитата:
getch () function returns two keycodes for arrow keys (and some other special keys), as mentioned in the comment by FatalError. It returns either 0 (0x00) or 224 (0xE0) first, and then returns a code identifying the key that was pressed.

For the arrow keys, it returns 224 first followed by 72 (up), 80 (down), 75 (left) and 77 (right). If the num-pad arrow keys (with NumLock off) are pressed, getch () returns 0 first instead of 224.
UPD
Пожалуйста
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 29.09.2013 в 02:10.
BDA вне форума   Ответить с цитированием
Старый 29.09.2013, 02:09   #5
yakobz
 
Регистрация: 15.07.2013
Сообщений: 5
По умолчанию

У меня теперь тоже сомнения по поводу моего первого перехода по ссылке) Спасибо вам) Просто мои знания английского языка оставляют желать лучшего) И внимательность тоже надо подтягивать)
yakobz вне форума   Ответить с цитированием
Старый 29.09.2013, 03:49   #6
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Начните читать доки, это полезно.

Цитата:
When reading a function key or an arrow key, each function must be called twice; the first call returns 0 or 0xE0, and the second call returns the actual key code.
Ezhik Kihze вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Воспроизведение звука по нажатии кнопки на клавиатуре zAxstor Общие вопросы Delphi 7 12.10.2010 08:15
Нажапие кнопки на клавиатуре = операция NuR1k Общие вопросы Delphi 4 03.10.2010 10:05
Проверить нажатие кнопки на клавиатуре во время цикла (Delphi) _PROGRAMM_ Помощь студентам 2 22.09.2010 21:23
Как установить / считать фокус с кнопки TSpeedButton? chandrasecar Общие вопросы Delphi 1 06.05.2010 01:55


07:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.