mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-03 20:30:43 +00:00
add TAB and ESC handling
This commit is contained in:
parent
e2441c425a
commit
2a1d8c40b4
@ -71,15 +71,30 @@ int32_t KbI2cBase::runOnce()
|
|||||||
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_NONE;
|
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_NONE;
|
||||||
e.source = this->_originName;
|
e.source = this->_originName;
|
||||||
switch (key.key) {
|
switch (key.key) {
|
||||||
case 0x1b: // ESC
|
case 'p': // TAB
|
||||||
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_CANCEL;
|
if (is_sym) {
|
||||||
|
e.kbchar = 0x09; // TAB Scancode
|
||||||
|
is_sym = false; // reset sym state after second keypress
|
||||||
|
} else {
|
||||||
|
e.inputEvent = ANYKEY;
|
||||||
|
e.kbchar = key.key;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'q': // ESC
|
||||||
|
if (is_sym) {
|
||||||
|
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_CANCEL;
|
||||||
|
e.kbchar = 0x1b;
|
||||||
|
is_sym = false; // reset sym state after second keypress
|
||||||
|
} else {
|
||||||
|
e.inputEvent = ANYKEY;
|
||||||
|
e.kbchar = key.key;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 0x08: // Back
|
case 0x08: // Back
|
||||||
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_BACK;
|
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_BACK;
|
||||||
e.kbchar = key.key;
|
e.kbchar = key.key;
|
||||||
break;
|
break;
|
||||||
case 'e': // sym e
|
case 'e': // sym e
|
||||||
|
|
||||||
if (is_sym) {
|
if (is_sym) {
|
||||||
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_UP;
|
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_UP;
|
||||||
e.kbchar = 0xb5;
|
e.kbchar = 0xb5;
|
||||||
@ -90,7 +105,6 @@ int32_t KbI2cBase::runOnce()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'x': // sym x
|
case 'x': // sym x
|
||||||
|
|
||||||
if (is_sym) {
|
if (is_sym) {
|
||||||
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_DOWN;
|
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_DOWN;
|
||||||
e.kbchar = 0xb6;
|
e.kbchar = 0xb6;
|
||||||
@ -101,7 +115,6 @@ int32_t KbI2cBase::runOnce()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 's': // sym s
|
case 's': // sym s
|
||||||
|
|
||||||
if (is_sym) {
|
if (is_sym) {
|
||||||
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_LEFT;
|
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_LEFT;
|
||||||
e.kbchar = 0x00; // tweak for destSelect
|
e.kbchar = 0x00; // tweak for destSelect
|
||||||
@ -112,7 +125,6 @@ int32_t KbI2cBase::runOnce()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'f': // sym f
|
case 'f': // sym f
|
||||||
|
|
||||||
if (is_sym) {
|
if (is_sym) {
|
||||||
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_RIGHT;
|
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_RIGHT;
|
||||||
e.kbchar = 0x00; // tweak for destSelect
|
e.kbchar = 0x00; // tweak for destSelect
|
||||||
@ -122,7 +134,6 @@ int32_t KbI2cBase::runOnce()
|
|||||||
e.kbchar = key.key;
|
e.kbchar = key.key;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x13: // Code scanner says the SYM key is 0x13
|
case 0x13: // Code scanner says the SYM key is 0x13
|
||||||
is_sym = !is_sym;
|
is_sym = !is_sym;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user