diff --git a/radio/sdcard/FrSky-utilities/SxR-config.lua b/radio/sdcard/FrSky-utilities/SxR-config.lua index bfced2ef3..c49b78f52 100755 --- a/radio/sdcard/FrSky-utilities/SxR-config.lua +++ b/radio/sdcard/FrSky-utilities/SxR-config.lua @@ -258,9 +258,9 @@ end -- Main local function runFieldsPage(event) - if event == EVT_EXIT_BREAK then -- exit script + if event == EVT_VIRTUAL_EXIT then -- exit script return 2 - elseif event == EVT_ENTER_BREAK or event == EVT_ROT_BREAK then -- toggle editing/selecting current field + elseif event == EVT_VIRTUAL_ENTER then -- toggle editing/selecting current field if fields[current][4] ~= nil then edit = not edit if edit == false then @@ -268,15 +268,15 @@ local function runFieldsPage(event) end end elseif edit then - if event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT or event == EVT_PLUS_REPT then + if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then addField(1) - elseif event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT or event == EVT_MINUS_REPT then + elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then addField(-1) end else - if event == EVT_MINUS_FIRST or event == EVT_ROT_RIGHT then + if event == EVT_VIRTUAL_NEXT then selectField(1) - elseif event == EVT_PLUS_FIRST or event == EVT_ROT_LEFT then + elseif event == EVT_VIRTUAL_PREVIOUS then selectField(-1) end end @@ -302,7 +302,7 @@ local function runConfigPage(event) if wingBitmaps[1 + fields[1][4]] == nil then wingBitmaps[1 + fields[1][4]] = Bitmap.open(wingBitmapsFile[1 + fields[1][4]]) end - lcd.drawBitmap(wingBitmapsFile[1 + fields[1][4]], 10, 90) + lcd.drawBitmap(wingBitmaps[1 + fields[1][4]], 10, 90) else lcd.drawPixmap(20, 28, wingBitmapsFile[1 + fields[1][4]]) end @@ -346,9 +346,9 @@ local function run(event) if event == nil then error("Cannot be run as a model script!") return 2 - elseif event == EVT_PAGE_BREAK or event == EVT_PAGEDN_FIRST then + elseif event == EVT_VIRTUAL_NEXT_PAGE then selectPage(1) - elseif event == EVT_PAGE_LONG or event == EVT_PAGEUP_FIRST then + elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then killEvents(event); selectPage(-1) end diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index e52aafd59..5689e5dea 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -1630,9 +1630,60 @@ const luaR_value_entry opentxConstants[] = { #else { "FIXEDWIDTH", FIXEDWIDTH }, #endif + +// Virtual Page Next/Previous +#if defined(KEYS_GPIO_REG_PGUP) && defined(KEYS_GPIO_REG_PGDN) + { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_FIRST(KEY_PGUP) }, + { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_FIRST(KEY_PGDN) }, +#elif defined(KEYS_GPIO_REG_PGDN) + { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PGDN) }, + { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) }, +#elif defined(KEYS_GPIO_REG_UP) && defined(KEYS_GPIO_REG_DOWN) + { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_UP) }, + { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_LONG(KEY_DOWN) }, +#endif + +// Virtual exit + { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) }, + +// Virtual enter +#if defined(KEYS_GPIO_REG_ENTER) + { "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) }, + { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) }, +#endif + +// Virtual menu +#if defined(KEYS_GPIO_REG_MENU) + { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MENU) }, + { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MENU) }, +#elif defined(KEYS_GPIO_REG_SHIFT) + { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_SHIFT) }, + { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_SHIFT) }, +#endif + +// Virtual generic plus-next-right minus-previous-left +#if defined(ROTARY_ENCODER_NAVIGATION) + { "EVT_VIRTUAL_NEXT", EVT_ROTARY_RIGHT}, + { "EVT_VIRTUAL_PREVIOUS", EVT_ROTARY_LEFT }, +#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 + #if defined(PCBHORUS) +#if defined(KEYS_GPIO_REG_PGUP) { "EVT_PAGEUP_FIRST", EVT_KEY_FIRST(KEY_PGUP) }, +#endif { "EVT_PAGEDN_FIRST", EVT_KEY_FIRST(KEY_PGDN) }, + { "EVT_PAGEDN_BREAK", EVT_KEY_BREAK(KEY_PGDN) }, + { "EVT_PAGEDN_LONG", EVT_KEY_LONG(KEY_PGDN) }, { "EVT_TELEM_FIRST", EVT_KEY_FIRST(KEY_TELEM) }, { "EVT_MODEL_FIRST", EVT_KEY_FIRST(KEY_MODEL) }, { "EVT_SYS_FIRST", EVT_KEY_FIRST(KEY_RADIO) },