Программирование игр для Windows. Советы профессионала

       

Скан-коды


Давайте теперь поговорим о такой вещи как скан-коды. Если вы считаете, что при нажатии клавиши А обработчик клавиатуры также получает код символа А, то вы ошибаетесь. К сожалению, это не так. Обработчику посылается скан-код. Более того, он посылается дважды — при нажатии и отпускании клавиши. В видеоиграх нас будут интересовать не столько ASCII-коды, сколько нажатия клавиш A, S, Пробел, которые обычно отвечают за маневры, стрельбу и т. д. Таким образом, нам надо знать, как получить именно скан-коды. И это все, что требуется. В таблице 3.2 перечислены скан-коды клавиш.

Таблица 3.2. Таблица скан-кодов.

 

Клавиша

Скан-код

Клавиша

Скан-код

Клавиша



Скан-код

Клавиша

Скан-код

Esc

1

I

22

Z

43

F7

64

1

2

O

23

X

44

F8

65

2

3

P

24

C

45

F9

66

4

4

[

25

V

46

F10

67

5

5

]

26

B

47

F11

133

6

6

Enter

27

N

48

F12

134

7

7

Ctrl

28

M

49

Num Lock

69

8

8

A

29

Запятая

50

Scroll Lock

70

9

9

S

30

Точка

51

Home

71

0

10

D

31

/

52

Up

72

-

11

F

32

Правый Shift

53

PgUp

73

=

12

G

33

Print Screen

54

Серый -

74

Backspace

13

H

34

Alt

55

Left

75

Tab

14

J

35

Пробел

56

5 на цифр. клав.

76

Q

15

K

36

Caps Lock

57

Right

77

W

16

L

37

F1

58

Серый +

78

E

17

;

38

F2

59

End

79

R

18

Апостроф

39

F3

60

Down

80

T

19

~

40

F4

61

PgDn

81

Y

20

Левый Shift

41

F5

62

Ins

82

U

21

\

42

F6

63

Del

83

Если вы внимательно изучали таблицу, то должны, были заметить, что клавиши; имеющие двухсимвольную кодировку, обладают, тем не менее, только одним скан-кодом. Это происходит потому, что каждый скан-код может быть дополнен информацией о статусе клавиш. Кроме того, благодаря таблице 3.2, мы теперь сами можем по скан-коду определять код ASCII.



Содержание раздела