1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-15 12:25:12 +03:00

Rework LUA key handling, should auto adapt to new radios (#6502)

This commit is contained in:
3djc 2019-06-14 21:21:16 +02:00 committed by Bertrand Songis
parent 383e723b96
commit e6dce52ff9

View file

@ -53,6 +53,12 @@
#define FIND_FIELD_DESC 0x01 #define FIND_FIELD_DESC 0x01
#define ADD_KEY_EVT(xxx, yyy) \
{ "EVT_"#xxx"_FIRST", EVT_KEY_FIRST(yyy) }, \
{ "EVT_"#xxx"_BREAK", EVT_KEY_BREAK(yyy) }, \
{ "EVT_"#xxx"_LONG", EVT_KEY_LONG(yyy) }, \
{ "EVT_"#xxx"_REPT", EVT_KEY_REPT(yyy) }
/*luadoc /*luadoc
@function getVersion() @function getVersion()
@ -1691,77 +1697,73 @@ const luaR_value_entry opentxConstants[] = {
{ "EVT_MODEL_FIRST", EVT_KEY_FIRST(KEY_MODEL) }, { "EVT_MODEL_FIRST", EVT_KEY_FIRST(KEY_MODEL) },
{ "EVT_SYS_FIRST", EVT_KEY_FIRST(KEY_RADIO) }, { "EVT_SYS_FIRST", EVT_KEY_FIRST(KEY_RADIO) },
{ "EVT_RTN_FIRST", EVT_KEY_FIRST(KEY_EXIT) }, { "EVT_RTN_FIRST", EVT_KEY_FIRST(KEY_EXIT) },
#elif defined(PCBXLITE) #elif defined(KEYS_GPIO_REG_EXIT)
{ "EVT_DOWN_FIRST", EVT_KEY_FIRST(KEY_DOWN) },
{ "EVT_UP_FIRST", EVT_KEY_FIRST(KEY_UP) },
{ "EVT_LEFT_FIRST", EVT_KEY_FIRST(KEY_LEFT) },
{ "EVT_RIGHT_FIRST", EVT_KEY_FIRST(KEY_RIGHT) },
{ "EVT_SHIFT_FIRST", EVT_KEY_FIRST(KEY_SHIFT) },
{ "EVT_DOWN_BREAK", EVT_KEY_BREAK(KEY_DOWN) },
{ "EVT_UP_BREAK", EVT_KEY_BREAK(KEY_UP) },
{ "EVT_LEFT_BREAK", EVT_KEY_BREAK(KEY_LEFT) },
{ "EVT_RIGHT_BREAK", EVT_KEY_BREAK(KEY_RIGHT) },
{ "EVT_SHIFT_BREAK", EVT_KEY_BREAK(KEY_SHIFT) },
{ "EVT_DOWN_LONG", EVT_KEY_LONG(KEY_DOWN) },
{ "EVT_UP_LONG", EVT_KEY_LONG(KEY_UP) },
{ "EVT_LEFT_LONG", EVT_KEY_LONG(KEY_LEFT) },
{ "EVT_RIGHT_LONG", EVT_KEY_LONG(KEY_RIGHT) },
{ "EVT_SHIFT_LONG", EVT_KEY_LONG(KEY_SHIFT) },
{ "EVT_DOWN_REPT", EVT_KEY_REPT(KEY_DOWN) },
{ "EVT_UP_REPT", EVT_KEY_REPT(KEY_UP) },
{ "EVT_LEFT_REPT", EVT_KEY_REPT(KEY_LEFT) },
{ "EVT_RIGHT_REPT", EVT_KEY_REPT(KEY_RIGHT) },
{ "FORCE", FORCE },
{ "ERASE", ERASE },
{ "ROUND", ROUND },
#elif defined(RADIO_T12)
{ "EVT_DOWN_FIRST", EVT_KEY_FIRST(KEY_DOWN) },
{ "EVT_UP_FIRST", EVT_KEY_FIRST(KEY_UP) },
{ "EVT_LEFT_FIRST", EVT_KEY_FIRST(KEY_LEFT) },
{ "EVT_RIGHT_FIRST", EVT_KEY_FIRST(KEY_RIGHT) },
{ "EVT_DOWN_BREAK", EVT_KEY_BREAK(KEY_DOWN) },
{ "EVT_UP_BREAK", EVT_KEY_BREAK(KEY_UP) },
{ "EVT_LEFT_BREAK", EVT_KEY_BREAK(KEY_LEFT) },
{ "EVT_RIGHT_BREAK", EVT_KEY_BREAK(KEY_RIGHT) },
{ "EVT_DOWN_LONG", EVT_KEY_LONG(KEY_DOWN) },
{ "EVT_UP_LONG", EVT_KEY_LONG(KEY_UP) },
{ "EVT_LEFT_LONG", EVT_KEY_LONG(KEY_LEFT) },
{ "EVT_RIGHT_LONG", EVT_KEY_LONG(KEY_RIGHT) },
{ "EVT_DOWN_REPT", EVT_KEY_REPT(KEY_DOWN) },
{ "EVT_UP_REPT", EVT_KEY_REPT(KEY_UP) },
{ "EVT_LEFT_REPT", EVT_KEY_REPT(KEY_LEFT) },
{ "EVT_RIGHT_REPT", EVT_KEY_REPT(KEY_RIGHT) },
{ "FORCE", FORCE },
{ "ERASE", ERASE },
{ "ROUND", ROUND },
#elif defined(PCBTARANIS)
{ "EVT_MENU_BREAK", EVT_KEY_BREAK(KEY_MENU) },
{ "EVT_MENU_LONG", EVT_KEY_LONG(KEY_MENU) },
{ "EVT_PAGE_BREAK", EVT_KEY_BREAK(KEY_PAGE) },
{ "EVT_PAGE_LONG", EVT_KEY_LONG(KEY_PAGE) },
{ "EVT_PLUS_BREAK", EVT_KEY_BREAK(KEY_PLUS) },
{ "EVT_MINUS_BREAK", EVT_KEY_BREAK(KEY_MINUS) },
{ "EVT_PLUS_FIRST", EVT_KEY_FIRST(KEY_PLUS) },
{ "EVT_MINUS_FIRST", EVT_KEY_FIRST(KEY_MINUS) },
{ "EVT_PLUS_REPT", EVT_KEY_REPT(KEY_PLUS) },
{ "EVT_MINUS_REPT", EVT_KEY_REPT(KEY_MINUS) },
#if LCD_DEPTH > 1
{ "FILL_WHITE", FILL_WHITE },
{ "GREY_DEFAULT", GREY_DEFAULT },
#endif
{ "FORCE", FORCE },
{ "ERASE", ERASE },
{ "ROUND", ROUND },
#endif
{ "EVT_ENTER_BREAK", EVT_KEY_BREAK(KEY_ENTER) },
{ "EVT_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
{ "EVT_EXIT_BREAK", EVT_KEY_BREAK(KEY_EXIT) }, { "EVT_EXIT_BREAK", EVT_KEY_BREAK(KEY_EXIT) },
#endif
#if defined(KEYS_GPIO_REG_ENTER)
ADD_KEY_EVT(ENTER, KEY_ENTER),
#endif
#if defined(KEYS_GPIO_REG_RIGHT) && defined(NAVIGATION_HORUS)
ADD_KEY_EVT(TELEM, KEY_TELEM),
#elif defined(KEYS_GPIO_REG_RIGHT)
ADD_KEY_EVT(RIGHT, KEY_RIGHT),
#endif
#if defined(KEYS_GPIO_REG_UP) && defined(NAVIGATION_HORUS)
ADD_KEY_EVT(MODEL, KEY_MODEL),
#elif defined(KEYS_GPIO_REG_UP)
ADD_KEY_EVT(UP, KEY_UP),
#endif
#if defined(KEYS_GPIO_REG_LEFT) && defined(NAVIGATION_HORUS)
ADD_KEY_EVT(SYS, KEY_RADIO),
#elif defined(KEYS_GPIO_REG_LEFT)
ADD_KEY_EVT(LEFT, KEY_LEFT),
#endif
#if defined(KEYS_GPIO_REG_PGUP)
ADD_KEY_EVT(PAGEUP, KEY_PGUP),
#endif
#if defined(KEYS_GPIO_REG_PGDN)
ADD_KEY_EVT(PAGEDN, KEY_PGDN),
#endif
#if defined(KEYS_GPIO_REG_PAGE)
ADD_KEY_EVT(PAGE, KEY_PAGE),
#endif
#if defined(KEYS_GPIO_REG_SHIFT)
ADD_KEY_EVT(SHIFT, KEY_SHIFT),
#endif
#if defined(KEYS_GPIO_REG_PLUS)
ADD_KEY_EVT(PLUS, KEY_PLUS),
#endif
#if defined(KEYS_GPIO_REG_MINUS)
ADD_KEY_EVT(MINUS, KEY_MINUS),
#endif
#if defined(ROTARY_ENCODER_NAVIGATION) #if defined(ROTARY_ENCODER_NAVIGATION)
{ "EVT_ROT_BREAK", EVT_KEY_BREAK(KEY_ENTER) }, ADD_KEY_EVT(ROT, KEY_ENTER),
{ "EVT_ROT_LONG", EVT_KEY_LONG(KEY_ENTER) },
{ "EVT_ROT_LEFT", EVT_ROTARY_LEFT }, { "EVT_ROT_LEFT", EVT_ROTARY_LEFT },
{ "EVT_ROT_RIGHT", EVT_ROTARY_RIGHT }, { "EVT_ROT_RIGHT", EVT_ROTARY_RIGHT },
#endif #endif
#if LCD_DEPTH > 1 && !defined(COLORLCD)
{ "FILL_WHITE", FILL_WHITE },
{ "GREY_DEFAULT", GREY_DEFAULT },
#endif
#if LCD_W <= 212
{ "FORCE", FORCE },
{ "ERASE", ERASE },
{ "ROUND", ROUND },
#endif
{ "SOLID", SOLID }, { "SOLID", SOLID },
{ "DOTTED", DOTTED }, { "DOTTED", DOTTED },
{ "LCD_W", LCD_W }, { "LCD_W", LCD_W },