aboutsummaryrefslogtreecommitdiff
path: root/c64/kbd.h
blob: 13df996212e72e8c0b982b441484f9c23abc74f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// kbd.h
//
// 20060803 Markku Alén

#ifndef __KBD_H__
#define __KBD_H__ 1

#define KEY_COMMODORE				1

#define KEY_LEFT_SHIFT				3
#define KEY_RIGHT_SHIFT				4
#define KEY_VER_CURSOR				5
#define KEY_HOR_CURSOR				6

#define KEY_F1						28
#define KEY_F3						29
#define KEY_F5						30
#define KEY_F7						31

#define KEY_CTRL					'\x09'
#define KEY_INST_DEL				'\x07'
#define KEY_CLR_HOME				'\x08'
#define KEY_RUN_STOP				'\x1b'
#define KEY_RETURN					'\x0d'
#define KEY_SPACE					' '

#define KEY_ARROW_LEFT				'~'
#define KEY_ARROW_UP				'^'
#define KEY_PLUS					'+'
#define KEY_MINUS					'-'
#define KEY_MULTIPLY				'*'
#define KEY_DIVIDE					'/'
#define KEY_COLON					':'
#define KEY_SEMICOLON				';'
#define KEY_EQUAL					'='
#define KEY_COMMA					','
#define KEY_DOT						'.'

#define KEY_POUND					'#'
#define KEY_AT						'@'

#define KEY_NUMBER_0				'0'
#define KEY_NUMBER_1				'1'
#define KEY_NUMBER_2				'2'
#define KEY_NUMBER_3				'3'
#define KEY_NUMBER_4				'4'
#define KEY_NUMBER_5				'5'
#define KEY_NUMBER_6				'6'
#define KEY_NUMBER_7				'7'
#define KEY_NUMBER_8				'8'
#define KEY_NUMBER_9				'9'

#define KEY_LETTER_A				'A'
#define KEY_LETTER_B				'B'
#define KEY_LETTER_C				'C'
#define KEY_LETTER_D				'D'
#define KEY_LETTER_E				'E'
#define KEY_LETTER_F				'F'
#define KEY_LETTER_G				'G'
#define KEY_LETTER_H				'H'
#define KEY_LETTER_I				'I'
#define KEY_LETTER_J				'J'
#define KEY_LETTER_K				'K'
#define KEY_LETTER_L				'L'
#define KEY_LETTER_M				'M'
#define KEY_LETTER_N				'N'
#define KEY_LETTER_O				'O'
#define KEY_LETTER_P				'P'
#define KEY_LETTER_Q				'Q'
#define KEY_LETTER_R				'R'
#define KEY_LETTER_S				'S'
#define KEY_LETTER_T				'T'
#define KEY_LETTER_U				'U'
#define KEY_LETTER_V				'V'
#define KEY_LETTER_W				'W'
#define KEY_LETTER_X				'X'
#define KEY_LETTER_Y				'Y'
#define KEY_LETTER_Z				'Z'

void kbd_init(void);

void kbd_down(int key);
void kbd_up(int key);
void kbd_push(int key, int down);

void kbd_ascii_push(int c, int down);

int kbd_data(int row_data);

#endif