ugBASIC
1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
key_constant.c
Go to the documentation of this file.
1
/*****************************************************************************
2
* ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
3
*****************************************************************************
4
* Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*----------------------------------------------------------------------------
18
* Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
19
* (la "Licenza"); è proibito usare questo file se non in conformità alla
20
* Licenza. Una copia della Licenza è disponibile all'indirizzo:
21
*
22
* http://www.apache.org/licenses/LICENSE-2.0
23
*
24
* Se non richiesto dalla legislazione vigente o concordato per iscritto,
25
* il software distribuito nei termini della Licenza è distribuito
26
* "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
27
* implicite. Consultare la Licenza per il testo specifico che regola le
28
* autorizzazioni e le limitazioni previste dalla medesima.
29
****************************************************************************/
30
31
/****************************************************************************
32
* INCLUDE SECTION
33
****************************************************************************/
34
35
#include "
../../ugbc.h
"
36
37
/****************************************************************************
38
* CODE SECTION
39
****************************************************************************/
40
41
int
key_constant
(
Environment
* _environment,
int
_key ) {
42
43
if
( _environment->
keyboardFullSupport
|| !_environment->
keyboardConfig
.
sync
) {
44
return
_key;
45
}
else
{
46
switch
( _key ) {
47
case
KEY_0
:
return
KEY2_0
;
48
case
KEY_1
:
return
KEY2_1
;
49
case
KEY_2
:
return
KEY2_2
;
50
case
KEY_3
:
return
KEY2_3
;
51
case
KEY_4
:
return
KEY2_4
;
52
case
KEY_5
:
return
KEY2_5
;
53
case
KEY_6
:
return
KEY2_6
;
54
case
KEY_7
:
return
KEY2_7
;
55
case
KEY_8
:
return
KEY2_8
;
56
case
KEY_9
:
return
KEY2_9
;
57
case
KEY_A
:
return
KEY2_A
;
58
case
KEY_ASTERISK
:
return
KEY2_ASTERISK
;
59
case
KEY_AT
:
return
KEY2_AT
;
60
case
KEY_B
:
return
KEY2_B
;
61
case
KEY_C
:
return
KEY2_C
;
62
case
KEY_CLEAR
:
return
KEY2_CLEAR
;
63
case
KEY_COLON
:
return
KEY2_COLON
;
64
case
KEY_COMMA
:
return
KEY2_COMMA
;
65
case
KEY_CONTROL
:
return
KEY2_CONTROL
;
66
case
KEY_D
:
return
KEY2_D
;
67
// case KEY_DELETE: return KEY2_DELETE;
68
case
KEY_DOWN
:
return
KEY2_DOWN
;
69
case
KEY_E
:
return
KEY2_E
;
70
case
KEY_F
:
return
KEY2_F
;
71
case
KEY_G
:
return
KEY2_G
;
72
case
KEY_H
:
return
KEY2_H
;
73
case
KEY_HOME
:
return
KEY2_HOME
;
74
case
KEY_I
:
return
KEY2_I
;
75
case
KEY_INSERT
:
return
KEY2_INSERT
;
76
case
KEY_J
:
return
KEY2_J
;
77
case
KEY_K
:
return
KEY2_K
;
78
case
KEY_L
:
return
KEY2_L
;
79
case
KEY_LEFT
:
return
KEY2_LEFT
;
80
// case KEY_LEFT_SHIFT: return KEY2_LEFT_SHIFT;
81
case
KEY_M
:
return
KEY2_M
;
82
// case KEY_MINUS: return KEY2_MINUS;
83
case
KEY_N
:
return
KEY2_N
;
84
case
KEY_O
:
return
KEY2_O
;
85
case
KEY_P
:
return
KEY2_P
;
86
// case KEY_PERIOD: return KEY2_PERIOD;
87
// case KEY_PLUS: return KEY2_PLUS;
88
case
KEY_Q
:
return
KEY2_Q
;
89
case
KEY_R
:
return
KEY2_R
;
90
// case KEY_RETURN: return KEY2_RETURN;
91
case
KEY_RIGHT
:
return
KEY2_RIGHT
;
92
// case KEY_RIGHT_SHIFT: return KEY2_RIGHT_SHIFT;
93
case
KEY_S
:
return
KEY2_S
;
94
// case KEY_SEMICOLON: return KEY2_SEMICOLON;
95
// case KEY_SLASH: return KEY2_SLASH;
96
case
KEY_SPACE
:
return
KEY2_SPACE
;
97
case
KEY_T
:
return
KEY2_T
;
98
case
KEY_U
:
return
KEY2_U
;
99
case
KEY_UP
:
return
KEY2_UP
;
100
// case KEY_UP_ARROW: return KEY2_UP_ARROW;
101
case
KEY_V
:
return
KEY2_V
;
102
case
KEY_W
:
return
KEY2_W
;
103
case
KEY_X
:
return
KEY2_X
;
104
case
KEY_Y
:
return
KEY2_Y
;
105
case
KEY_Z
:
return
KEY2_Z
;
106
case
KEY_BACKSLASH
:
return
KEY2_BACKSLASH
;
107
// case KEY_SQUARE_OPEN: return KEY2_SQUARE_OPEN;
108
// case KEY_SQUARE_CLOSED: return KEY2_SQUARE_CLOSED;
109
// case KEY_SEMICOMMA: return KEY2_SEMICOMMA;
110
// case KEY_QUOTE: return KEY2_QUOTE;
111
// case KEY_APIX: return KEY2_APIX;
112
// case KEY_DEAD: return KEY2_DEAD;
113
// case KEY_SHIFT: return KEY2_SHIFT;
114
// case KEY_CTRL: return KEY2_CTRL;
115
// case KEY_GRAPH: return KEY2_GRAPH;
116
// case KEY_CAPS: return KEY2_CAPS;
117
// case KEY_CODE: return KEY2_CODE;
118
// case KEY_ESC: return KEY2_ESC;
119
// case KEY_TAB: return KEY2_TAB;
120
case
KEY_STOP
:
return
KEY2_STOP
;
121
// case KEY_BS: return KEY2_BS;
122
// case KEY_SELECT: return KEY2_SELECT;
123
// case KEY_RET: return KEY2_RET;
124
// case KEY_INS: return KEY2_INS;
125
// case KEY_DEL: return KEY2_DEL;
126
// case KEY_DIVISION: return KEY2_DIVISION;
127
}
128
return
KEY_NONE
;
129
}
130
}
KEY_RIGHT
#define KEY_RIGHT
Definition
atari.h:131
KEY_CLEAR
#define KEY_CLEAR
Definition
atari.h:114
KEY_A
#define KEY_A
Definition
atari.h:104
KEY_NONE
#define KEY_NONE
Definition
atari.h:51
KEY_U
#define KEY_U
Definition
atari.h:60
KEY_P
#define KEY_P
Definition
atari.h:59
KEY_V
#define KEY_V
Definition
atari.h:65
KEY_CONTROL
#define KEY_CONTROL
Definition
atari.h:117
KEY_Q
#define KEY_Q
Definition
atari.h:90
KEY_DOWN
#define KEY_DOWN
Definition
atari.h:129
KEY_4
#define KEY_4
Definition
atari.h:70
KEY_C
#define KEY_C
Definition
atari.h:66
KEY_AT
#define KEY_AT
Definition
atari.h:113
KEY_N
#define KEY_N
Definition
atari.h:80
KEY_I
#define KEY_I
Definition
atari.h:62
KEY_2
#define KEY_2
Definition
atari.h:75
KEY_6
#define KEY_6
Definition
atari.h:72
KEY_0
#define KEY_0
Definition
atari.h:92
KEY_7
#define KEY_7
Definition
atari.h:93
KEY_1
#define KEY_1
Definition
atari.h:76
KEY_ASTERISK
#define KEY_ASTERISK
Definition
atari.h:57
KEY_J
#define KEY_J
Definition
atari.h:53
KEY_L
#define KEY_L
Definition
atari.h:52
KEY_COLON
#define KEY_COLON
Definition
atari.h:115
KEY_COMMA
#define KEY_COMMA
Definition
atari.h:77
KEY_S
#define KEY_S
Definition
atari.h:103
KEY_3
#define KEY_3
Definition
atari.h:71
KEY_E
#define KEY_E
Definition
atari.h:85
KEY_Z
#define KEY_Z
Definition
atari.h:69
KEY_X
#define KEY_X
Definition
atari.h:68
KEY_5
#define KEY_5
Definition
atari.h:74
KEY_SPACE
#define KEY_SPACE
Definition
atari.h:78
KEY_K
#define KEY_K
Definition
atari.h:55
KEY_R
#define KEY_R
Definition
atari.h:84
KEY_INSERT
#define KEY_INSERT
Definition
atari.h:122
KEY_G
#define KEY_G
Definition
atari.h:102
KEY_H
#define KEY_H
Definition
atari.h:99
KEY_F
#define KEY_F
Definition
atari.h:98
KEY_D
#define KEY_D
Definition
atari.h:100
KEY_8
#define KEY_8
Definition
atari.h:95
KEY_B
#define KEY_B
Definition
atari.h:67
KEY_Y
#define KEY_Y
Definition
atari.h:86
KEY_T
#define KEY_T
Definition
atari.h:88
KEY_O
#define KEY_O
Definition
atari.h:58
KEY_M
#define KEY_M
Definition
atari.h:81
KEY_9
#define KEY_9
Definition
atari.h:91
KEY_LEFT
#define KEY_LEFT
Definition
atari.h:130
KEY_HOME
#define KEY_HOME
Definition
atari.h:121
KEY_UP
#define KEY_UP
Definition
atari.h:128
KEY_W
#define KEY_W
Definition
atari.h:89
KEY_STOP
#define KEY_STOP
Definition
coleco.h:134
KEY_BACKSLASH
#define KEY_BACKSLASH
Definition
coleco.h:120
key_constant
int key_constant(Environment *_environment, int _key)
Definition
key_constant.c:51
KEY2_O
#define KEY2_O
Definition
pc128op.h:172
KEY2_S
#define KEY2_S
Definition
pc128op.h:181
KEY2_9
#define KEY2_9
Definition
pc128op.h:144
KEY2_1
#define KEY2_1
Definition
pc128op.h:136
KEY2_COMMA
#define KEY2_COMMA
Definition
pc128op.h:152
KEY2_AT
#define KEY2_AT
Definition
pc128op.h:147
KEY2_U
#define KEY2_U
Definition
pc128op.h:186
KEY2_Q
#define KEY2_Q
Definition
pc128op.h:176
KEY2_7
#define KEY2_7
Definition
pc128op.h:142
KEY2_A
#define KEY2_A
Definition
pc128op.h:145
KEY2_0
#define KEY2_0
Definition
pc128op.h:135
KEY2_CONTROL
#define KEY2_CONTROL
Definition
pc128op.h:153
KEY2_W
#define KEY2_W
Definition
pc128op.h:190
KEY2_P
#define KEY2_P
Definition
pc128op.h:173
KEY2_ASTERISK
#define KEY2_ASTERISK
Definition
pc128op.h:146
KEY2_I
#define KEY2_I
Definition
pc128op.h:162
KEY2_N
#define KEY2_N
Definition
pc128op.h:171
KEY2_BACKSLASH
#define KEY2_BACKSLASH
Definition
pc128op.h:194
KEY2_X
#define KEY2_X
Definition
pc128op.h:191
KEY2_HOME
#define KEY2_HOME
Definition
pc128op.h:161
KEY2_RIGHT
#define KEY2_RIGHT
Definition
pc128op.h:179
KEY2_2
#define KEY2_2
Definition
pc128op.h:137
KEY2_8
#define KEY2_8
Definition
pc128op.h:143
KEY2_R
#define KEY2_R
Definition
pc128op.h:177
KEY2_6
#define KEY2_6
Definition
pc128op.h:141
KEY2_L
#define KEY2_L
Definition
pc128op.h:166
KEY2_STOP
#define KEY2_STOP
Definition
pc128op.h:208
KEY2_DOWN
#define KEY2_DOWN
Definition
pc128op.h:156
KEY2_F
#define KEY2_F
Definition
pc128op.h:158
KEY2_UP
#define KEY2_UP
Definition
pc128op.h:187
KEY2_B
#define KEY2_B
Definition
pc128op.h:148
KEY2_Z
#define KEY2_Z
Definition
pc128op.h:193
KEY2_LEFT
#define KEY2_LEFT
Definition
pc128op.h:167
KEY2_Y
#define KEY2_Y
Definition
pc128op.h:192
KEY2_4
#define KEY2_4
Definition
pc128op.h:139
KEY2_V
#define KEY2_V
Definition
pc128op.h:189
KEY2_C
#define KEY2_C
Definition
pc128op.h:149
KEY2_COLON
#define KEY2_COLON
Definition
pc128op.h:151
KEY2_T
#define KEY2_T
Definition
pc128op.h:185
KEY2_CLEAR
#define KEY2_CLEAR
Definition
pc128op.h:150
KEY2_5
#define KEY2_5
Definition
pc128op.h:140
KEY2_H
#define KEY2_H
Definition
pc128op.h:160
KEY2_M
#define KEY2_M
Definition
pc128op.h:169
KEY2_K
#define KEY2_K
Definition
pc128op.h:165
KEY2_G
#define KEY2_G
Definition
pc128op.h:159
KEY2_E
#define KEY2_E
Definition
pc128op.h:157
KEY2_INSERT
#define KEY2_INSERT
Definition
pc128op.h:163
KEY2_3
#define KEY2_3
Definition
pc128op.h:138
KEY2_D
#define KEY2_D
Definition
pc128op.h:154
KEY2_SPACE
#define KEY2_SPACE
Definition
pc128op.h:184
KEY2_J
#define KEY2_J
Definition
pc128op.h:164
_Environment::keyboardFullSupport
int keyboardFullSupport
Definition
ugbc.h:3187
_Environment::keyboardConfig
KeyboardConfig keyboardConfig
Definition
ugbc.h:2435
_KeyboardConfig::sync
char sync
Definition
ugbc.h:1989
ugbc.h
Environment
struct _Environment Environment
Structure of compilation environment.
Z:
ugbasic
ugbc
src
targets
pc128op
key_constant.c
Generated by
1.16.1