5
5
#
6
6
# where 'trim' is one of:
7
7
#
8
- # (-) (+)
8
+ # (-) (+)
9
9
# 'LHL', 'LHR',
10
10
# 'LVD', 'LVU',
11
11
# 'RVD', 'RVU',
33
33
]
34
34
35
35
KEYS = [
36
- { "name" : "MENU" , "key" : "KEY_MENU" , "label" : "Menu " },
37
- { "name" : "EXIT" , "key" : "KEY_EXIT" , "label" : "Exit " },
36
+ { "name" : "MENU" , "key" : "KEY_MENU" , "label" : "MENU " },
37
+ { "name" : "EXIT" , "key" : "KEY_EXIT" , "label" : "EXIT " },
38
38
{ "name" : "ENTER" , "key" : "KEY_ENTER" , "label" : "Enter" },
39
39
40
- { "name" : "PAGEUP" , "key" : "KEY_PAGEUP" , "label" : "PgUp " },
41
- { "name" : "PAGEDN" , "key" : "KEY_PAGEDN" , "label" : "PgDn " },
40
+ { "name" : "PAGEUP" , "key" : "KEY_PAGEUP" , "label" : "PAGE< " },
41
+ { "name" : "PAGEDN" , "key" : "KEY_PAGEDN" , "label" : "PAGE> " },
42
42
43
43
{ "name" : "UP" , "key" : "KEY_UP" , "label" : "Up" },
44
44
{ "name" : "DOWN" , "key" : "KEY_DOWN" , "label" : "Down" },
45
45
46
46
{ "name" : "LEFT" , "key" : "KEY_LEFT" , "label" : "Left" },
47
47
{ "name" : "RIGHT" , "key" : "KEY_RIGHT" , "label" : "Right" },
48
48
49
- { "name" : "PLUS" , "key" : "KEY_PLUS" , "label" : "Plus " },
50
- { "name" : "MINUS" , "key" : "KEY_MINUS" , "label" : "Minus " },
49
+ { "name" : "PLUS" , "key" : "KEY_PLUS" , "label" : "(+) " },
50
+ { "name" : "MINUS" , "key" : "KEY_MINUS" , "label" : "(-) " },
51
51
52
52
{ "name" : "MDL" , "key" : "KEY_MODEL" , "label" : "MDL" },
53
53
{ "name" : "TELE" , "key" : "KEY_TELE" , "label" : "TELE" },
54
54
{ "name" : "SYS" , "key" : "KEY_SYS" , "label" : "SYS" },
55
55
56
- { "name" : "SHIFT" , "key" : "KEY_SHIFT" , "label" : "Shift" },
56
+ { "name" : "SHIFT" , "key" : "KEY_SHIFT" , "label" : "Shift" }
57
+ ]
58
+
59
+ KEY_LABELS = [
60
+ {
61
+ "targets" : {"boxer" , "f16" , "mt12" , "gx12" , "pocket" , "tx12" , "tx12mk2" , "tx16s" , "v16" , "zorro" },
62
+ "keys" : {
63
+ "EXIT" : { "label" : "RTN" }
64
+ }
65
+ },
66
+ {
67
+ "targets" : {"bumblebee" , "t12max" , "t14" , "t15" , "t20" , "t20v2" , "tpro" , "tpros" , "tprov2" },
68
+ "keys" : {
69
+ "PAGEDN" : { "label" : "</>" },
70
+ }
71
+ },
72
+ {
73
+ "targets" : {"x7" , "x7access" , "x9e" },
74
+ "keys" : {
75
+ "PAGEDN" : { "label" : "PAGE" },
76
+ }
77
+ },
78
+ {
79
+ "targets" : {"t16" , "t18" },
80
+ "keys" : {
81
+ "EXIT" : { "label" : "RTN" },
82
+ "PAGEDN" : {"label" : "PAGE" },
83
+ }
84
+ },
85
+ {
86
+ "targets" : {"x9d" , "x9d+" , "x9d+2019" },
87
+ "keys" : {
88
+ "ENTER" : { "label" : "ENT" },
89
+ "PAGEDN" : { "label" : "PAGE" }
90
+ }
91
+ },
92
+ {
93
+ "targets" : {"x10" , "x10express" },
94
+ "keys" : {
95
+ "EXIT" : { "label" : "RTN" },
96
+ "PAGEDN" : { "label" : "PgUp/Dn" }
97
+ }
98
+ },
99
+ {
100
+ "targets" : {"x12s" },
101
+ "keys" : {
102
+ "EXIT" : { "label" : "RTN" },
103
+ "PAGEUP" : { "label" : "PgUp" },
104
+ "PAGEDN" : { "label" : "PgDn" },
105
+ }
106
+ },
107
+ {
108
+ "targets" : {"t8" },
109
+ "keys" : {
110
+ "EXIT" : { "label" : "RTN" },
111
+ "ENTER" : { "label" : "ENT" }
112
+ }
113
+ },
57
114
]
58
115
59
116
class Key :
@@ -104,11 +161,23 @@ def parse_trims(hw_defs):
104
161
trims .append (Trim (name , None , None ))
105
162
106
163
return trims
107
-
108
-
109
- def parse_keys (hw_defs ):
164
+
165
+
166
+ def key_label (target , name ):
167
+ for d in KEY_LABELS :
168
+ if target in d ['targets' ]:
169
+ keys = d .get ('keys' )
170
+ key = keys .get (name )
171
+ if key :
172
+ return key ['label' ]
173
+
174
+ return None
175
+
176
+
177
+ def parse_keys (target , hw_defs ):
110
178
111
179
keys = []
180
+
112
181
for k in KEYS :
113
182
114
183
name = k ['name' ]
@@ -119,7 +188,11 @@ def parse_keys(hw_defs):
119
188
key = Key (hw_defs [gpio ], hw_defs [pin ])
120
189
key .key = k ['key' ]
121
190
key .name = name
122
- key .label = k ['label' ]
191
+ label = key_label (target , name )
192
+ if label :
193
+ key .label = label
194
+ else :
195
+ key .label = k ['label' ]
123
196
if 'KEYS_GPIO_ACTIVE_HIGH' in hw_defs :
124
197
key .active_low = False
125
198
keys .append (key )
0 commit comments