Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DirectInput как вообще понять какие кнопки нажимает?

1.8K
31 августа 2005 года
GLAGOLA
80 / / 06.11.2004
Для того чтобы проверить на KeyDown:
if (key[DIK_0]&0x80)
{
Нажата
};
а какая маска у KeyUp, как определить что клавиша отжата?Спасибо...
991
05 сентября 2005 года
Zenhipster
157 / / 14.01.2005
Цитата:
Originally posted by GLAGOLA
Для того чтобы проверить на KeyDown:
if (key[DIK_0]&0x80)
{
Нажата
};
а какая маска у KeyUp, как определить что клавиша отжата?Спасибо...



Из Tech Help 6:

Код:
Original PC/XT Keyboard
  When a key is released, the keyboard sends the same value, ORed with 80H
  (e.g., [Ctrl] sends 1dH when pressed and 9dH when released).

============ ============= =============== =============== =================
Hex Dec Key |Hex Dec Key  |Hex Dec Key    |Hex Dec Key    |Hex Dec Key
============ ============= =============== =============== =================
01   1  Esc |12  18  E    |23  35  H      |34  52  . >    |45  69  NumLock
02   2  1 ! |13  19  R    |24  36  J      |35  53  / ?    |46  70  ScrollLck
03   3  2 @ |14  20  T    |25  37  K      |36  54  Shft(R)|47  71  Home [7]
04   4  3 # |15  21  Y    |26  38  L      |37  55  * PrtSc|48  72      [8]
05   5  4 $ |16  22  U    |27  39  ; :    |38  56  Alt    |49  73  PgUp [9]
06   6  5 % |17  23  I    |28  40  " '    |39  57  space  |4a  74  K -
07   7  6 ^ |18  24  O    |29  41  ` ~    |3a  58  CapsLck|4b  75      [4]
08   8  7 & |19  25  P    |2a  42  Shft(L)|3b  59  F1     |4c  76       [5]
09   9  8 * |1a  26  [ {  |2b  43  \ |    |3c  60  F2     |4d  77  >    [6]
0a  10  9 ( |1b  27  ] }  |2c  44  Z      |3d  61  F3     |4e  78  K +
0b  11  0 ) |1c  28  Enter|2d  45  X      |3e  62  F4     |4f  79  End  [1]
0c  12  - _ |1d  29  Ctrl |2e  46  C      |3f  63  F5     |50  80      [2]
0d  13  + = |1e  30  A    |2f  47  V      |40  64  F6     |51  81  PgDn [3]
0e  14  bksp|1f  31  S    |30  48  B      |41  65  F7     |52  82  Ins  [0]
0f  15  Tab |20  32  D    |31  49  N      |42  66  F8     |53  83  Del  [.]
10  16  Q   |21  33  F    |32  50  M      |43  67  F9     |
11  17  W   |22  34  G    |33  51  , <    |44  68  F10    |
============ ============= =============== =============== =================
    K indicates a key on the numeric keypad (when not in NumLock mode)


В дирике должна быть та же логика.
1.8K
05 сентября 2005 года
GLAGOLA
80 / / 06.11.2004
все сделал...работает...технология такая...храним пред идущее состояние и сравниваем с текущим:
если нужно проверить на отпуск клавиши то
if ((copykey[DIK_0]&0x80)&&!(key[DIK_0]&0x80))
Released
copykey - копия пред идущего опроса клавиатуры..т.е. сначало копируем потом обновляем тек сост..
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог