fix(color): add quick menu key mapping for PA01 and ST16 (#6734)
This commit is contained in:
@@ -45,4 +45,3 @@ const char* keysGetLabel(EnumKeys key)
|
||||
{
|
||||
return _key_labels[key];
|
||||
}
|
||||
|
||||
|
||||
+29
-17
@@ -446,6 +446,33 @@ static void transpose_trims(uint32_t *keys)
|
||||
}
|
||||
#endif
|
||||
|
||||
// Mapping for:
|
||||
// - quick menu shortcut key on radios with limited keys
|
||||
// - radios with single PAGE key
|
||||
// - radios with a SHIFT key
|
||||
uint16_t keyMapping(uint16_t event)
|
||||
{
|
||||
#if defined(RADIO_PA01)
|
||||
if (event == EVT_KEY_BREAK(KEY_MODEL)) return EVT_KEY_BREAK(KEY_SYS);
|
||||
#endif
|
||||
#if defined(RADIO_ST16)
|
||||
if (event == EVT_KEY_LONG(KEY_PAGEDN)) return EVT_KEY_BREAK(KEY_SYS);
|
||||
#endif
|
||||
#if defined(KEYS_GPIO_REG_PAGEDN) && !defined(KEYS_GPIO_REG_PAGEUP)
|
||||
// Radio with single PAGEDN key
|
||||
if (event == EVT_KEY_LONG(KEY_PAGEDN)) {
|
||||
// Convert long press PAGEDN to short press PAGEUP
|
||||
killEvents(KEY_PAGEDN);
|
||||
return EVT_KEY_BREAK(KEY_PAGEUP);
|
||||
}
|
||||
#endif
|
||||
#if defined(KEYS_GPIO_REG_SHIFT)
|
||||
// SHIFT key should not trigger REPT events
|
||||
if (event == EVT_KEY_REPT(KEY_SHIFT)) return 0;
|
||||
#endif
|
||||
return event;
|
||||
}
|
||||
|
||||
bool keysPollingCycle()
|
||||
{
|
||||
uint32_t trims_input;
|
||||
@@ -466,23 +493,8 @@ bool keysPollingCycle()
|
||||
for (int i = 0; i < MAX_KEYS; i++) {
|
||||
event_t evt = keys[i].input(keys_input & (1 << i));
|
||||
if (evt) {
|
||||
evt |= i;
|
||||
#if defined(KEYS_GPIO_REG_PAGEDN) && !defined(KEYS_GPIO_REG_PAGEUP)
|
||||
// Radio with single PAGEDN key
|
||||
if (evt == EVT_KEY_LONG(KEY_PAGEDN)) {
|
||||
// Convert long press PAGEDN to short press PAGEUP
|
||||
evt = EVT_KEY_BREAK(KEY_PAGEUP);
|
||||
killEvents(KEY_PAGEDN);
|
||||
}
|
||||
#endif
|
||||
#if defined(KEYS_GPIO_REG_SHIFT)
|
||||
// SHIFT key should not trigger REPT events
|
||||
if (evt != EVT_KEY_REPT(KEY_SHIFT)) {
|
||||
pushEvent(evt);
|
||||
}
|
||||
#else
|
||||
pushEvent(evt);
|
||||
#endif
|
||||
evt = keyMapping(evt | i);
|
||||
if (evt) pushEvent(evt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,9 @@ enum PhysicalKeys
|
||||
|
||||
static bool fct_state[4] = {false, false, false, false};
|
||||
static uint32_t keyState = 0;
|
||||
#if !defined(BOOT)
|
||||
static uint32_t nonReadCount = 0;
|
||||
#endif
|
||||
|
||||
static uint32_t _readKeyMatrix()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user