1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-14 11:59:50 +03:00

Rework VIRTUAL EVENTS (#6878)

Virtual events
This commit is contained in:
3djc 2019-10-02 14:56:47 +02:00 committed by Bertrand Songis
parent 85a2b138f7
commit d1485166ef

View file

@ -54,10 +54,10 @@
#define FIND_FIELD_DESC 0x01 #define FIND_FIELD_DESC 0x01
#define KEY_EVENTS(xxx, yyy) \ #define KEY_EVENTS(xxx, yyy) \
{ "EVT_"#xxx"_FIRST", EVT_KEY_FIRST(yyy) }, \ { "EVT_"#xxx"_FIRST", EVT_KEY_FIRST(yyy) }, \
{ "EVT_"#xxx"_BREAK", EVT_KEY_BREAK(yyy) }, \ { "EVT_"#xxx"_BREAK", EVT_KEY_BREAK(yyy) }, \
{ "EVT_"#xxx"_LONG", EVT_KEY_LONG(yyy) }, \ { "EVT_"#xxx"_LONG", EVT_KEY_LONG(yyy) }, \
{ "EVT_"#xxx"_REPT", EVT_KEY_REPT(yyy) } { "EVT_"#xxx"_REPT", EVT_KEY_REPT(yyy) }
/*luadoc /*luadoc
@function getVersion() @function getVersion()
@ -1379,7 +1379,7 @@ static int luaChdir(lua_State * L)
@function loadScript(file [, mode], [,env]) @function loadScript(file [, mode], [,env])
Load a Lua script file. This is similar to Lua's own [loadfile()](https://www.lua.org/manual/5.2/manual.html#pdf-loadfile) Load a Lua script file. This is similar to Lua's own [loadfile()](https://www.lua.org/manual/5.2/manual.html#pdf-loadfile)
API method, but it uses OpenTx's optional pre-compilation feature to save memory and time during load. API method, but it uses OpenTx's optional pre-compilation feature to save memory and time during load.
Return values are same as from Lua API loadfile() method: If the script was loaded w/out errors Return values are same as from Lua API loadfile() method: If the script was loaded w/out errors
then the loaded script (or "chunk") is returned as a function. Otherwise, returns nil plus the error message. then the loaded script (or "chunk") is returned as a function. Otherwise, returns nil plus the error message.
@ -1675,53 +1675,48 @@ const luaR_value_entry opentxConstants[] = {
{ "FIXEDWIDTH", FIXEDWIDTH }, { "FIXEDWIDTH", FIXEDWIDTH },
#endif #endif
// Virtual Page Next/Previous // Virtual events
#if defined(KEYS_GPIO_REG_PGUP) && defined(KEYS_GPIO_REG_PGDN) #if defined(ROTARY_ENCODER_NAVIGATION)
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_FIRST(KEY_PGUP) }, { "EVT_VIRTUAL_PREVIOUS", EVT_ROTARY_LEFT },
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_FIRST(KEY_PGDN) }, { "EVT_VIRTUAL_PREVIOUS_REPT", EVT_ROTARY_LEFT },
#elif defined(KEYS_GPIO_REG_PGDN) { "EVT_VIRTUAL_NEXT", EVT_ROTARY_RIGHT },
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PGDN) }, { "EVT_VIRTUAL_NEXT_REPT", EVT_ROTARY_RIGHT },
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) }, #else
#elif defined(KEYS_GPIO_REG_UP) && defined(KEYS_GPIO_REG_DOWN) { "EVT_VIRTUAL_PREVIOUS", EVT_KEY_FIRST(KEY_LEFT) },
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_UP) }, { "EVT_VIRTUAL_PREVIOUS_REPT", EVT_KEY_REPT(KEY_LEFT) },
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_LONG(KEY_DOWN) }, { "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_RIGHT) },
#elif defined(KEYS_GPIO_REG_PAGE) { "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_RIGHT) },
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PAGE) },
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGE) },
#endif #endif
// Virtual exit #if defined(NAVIGATION_9X) || defined(NAVIGATION_XLITE)
{ "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) }, { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_UP) },
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_UP) },
// Virtual enter { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_DOWN) },
#if defined(KEYS_GPIO_REG_ENTER) { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_DOWN) },
{ "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) }, { "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
{ "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) }, { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
#endif { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
#elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
// Virtual menu { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PAGE) },
#if defined(KEYS_GPIO_REG_MENU) { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGE) },
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MENU) }, { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MENU) },
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MENU) }, { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MENU) },
#elif defined(KEYS_GPIO_REG_SHIFT) { "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_SHIFT) }, { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_SHIFT) }, { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
#elif defined(NAVIGATION_HORUS)
#if defined(KEYS_GPIO_REG_PGUP)
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_BREAK(KEY_PGUP) },
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) },
#else
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PGDN) },
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) },
#endif #endif
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MODEL) },
// Virtual generic plus-next-right minus-previous-left { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MODEL) },
#if defined(ROTARY_ENCODER_NAVIGATION) { "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
{ "EVT_VIRTUAL_NEXT", EVT_ROTARY_RIGHT}, { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
{ "EVT_VIRTUAL_PREVIOUS", EVT_ROTARY_LEFT }, { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
#elif defined(KEYS_GPIO_REG_RIGHT) && defined(KEYS_GPIO_REG_LEFT)
{ "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_RIGHT) },
{ "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_RIGHT) },
{ "EVT_VIRTUAL_PREVIOUS", EVT_KEY_FIRST(KEY_LEFT) },
{ "EVT_VIRTUAL_PREVIOUS_REPT", EVT_KEY_REPT(KEY_LEFT) },
#elif defined(KEYS_GPIO_REG_PLUS) && defined(KEYS_GPIO_REG_MINUS)
{ "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_PLUS) },
{ "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_PLUS) },
{ "EVT_VIRTUAL_PREVIOUS", EVT_KEY_FIRST(KEY_MINUS) },
{ "EVT_VIRTUAL_PREVIOUS_REPT", EVT_KEY_REPT(KEY_MINUS) },
#endif #endif
#if defined(KEYS_GPIO_REG_EXIT) #if defined(KEYS_GPIO_REG_EXIT)