Skip to content

Commit 08d1b86

Browse files
elecpowerphilmozpfeerick
authoredFeb 10, 2025
fix(chore): key labels match physical radios (#5865)
Co-authored-by: philmoz <philmoz@users.noreply.github.com> Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
1 parent b78dd46 commit 08d1b86

File tree

2 files changed

+87
-14
lines changed

2 files changed

+87
-14
lines changed
 

Diff for: ‎radio/util/hw_defs/hal_json.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# Return a file handle or STDIN
1414
#
1515
def open_file(filename):
16-
16+
1717
if filename and not filename == '-':
1818
return open(filename)
1919
else:
@@ -83,7 +83,7 @@ def parse_defines(filename, target):
8383
switches = parse_switches(target, hw_defs, adc_parser)
8484
out_defs["switches"] = switches
8585

86-
keys = parse_keys(hw_defs)
86+
keys = parse_keys(target, hw_defs)
8787
out_defs["keys"] = keys
8888

8989
trims = parse_trims(hw_defs)

Diff for: ‎radio/util/hw_defs/hal_keys.py

+85-12
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66
# where 'trim' is one of:
77
#
8-
# (-) (+)
8+
# (-) (+)
99
# 'LHL', 'LHR',
1010
# 'LVD', 'LVU',
1111
# 'RVD', 'RVU',
@@ -33,27 +33,84 @@
3333
]
3434

3535
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" },
3838
{ "name": "ENTER", "key": "KEY_ENTER", "label": "Enter" },
3939

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>" },
4242

4343
{ "name": "UP", "key": "KEY_UP", "label": "Up" },
4444
{ "name": "DOWN", "key": "KEY_DOWN", "label": "Down" },
4545

4646
{ "name": "LEFT", "key": "KEY_LEFT", "label": "Left" },
4747
{ "name": "RIGHT", "key": "KEY_RIGHT", "label": "Right" },
4848

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": "(-)" },
5151

5252
{ "name": "MDL", "key": "KEY_MODEL", "label": "MDL" },
5353
{ "name": "TELE", "key": "KEY_TELE", "label": "TELE" },
5454
{ "name": "SYS", "key": "KEY_SYS", "label": "SYS" },
5555

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+
},
57114
]
58115

59116
class Key:
@@ -104,11 +161,23 @@ def parse_trims(hw_defs):
104161
trims.append(Trim(name, None, None))
105162

106163
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):
110178

111179
keys = []
180+
112181
for k in KEYS:
113182

114183
name = k['name']
@@ -119,7 +188,11 @@ def parse_keys(hw_defs):
119188
key = Key(hw_defs[gpio], hw_defs[pin])
120189
key.key = k['key']
121190
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']
123196
if 'KEYS_GPIO_ACTIVE_HIGH' in hw_defs:
124197
key.active_low = False
125198
keys.append(key)

0 commit comments

Comments
 (0)