1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps/plugins/lib
William Wilgus f7bb9e2167 Add custom action mapping to core
results of an idea I discussed in IRC

changed the way the lookup in the remap file works..

 entries consist of 3 int [action, button, prebtn]
 context look up table is at the beginning
 action_code contains the (context | CONTEXT_REMAPPED)
 button_code contains the index of the first remapped action for the matched context
 [0] CORE_CONTEXT_REMAP(ctx1) offset1=(3), count=(1)
 [1] CORE_CONTEXT_REMAP(ctx2, offset2=(5), count=(1)
 [2] sentinel, 0, 0
 [3] act0, btn, 0
 [4] sentinel 0, 0
 [5] act1, btn, 0
 [6] sentinel, 0, 0

 Note:
 last entry of each group is always the sentinel [CONTEXT_STOPSEARCHING, BUTTON_NONE, BUTTON_NONE]
 contexts must match exactly -- re-mapped contexts run before the built in w/ fall through contexts
 ie. you can't remap std_context and expect it to match std_context actions from the WPS context.

-- Done --

Code for reading core remap entries

-- Done --

import of core remap entires from disk
-- Done --

plugin to set new key mapping (the hard part)

The plugin is started and FULLY functional
you can add actions and contexts
you can change context, action, button, prebtn
delete keymap files
load keymapfiles
save user keymaps
test keymaps before applying them
loading keymaps to core still requires restart
-----------------------------------------------------------------------------------------------

Change-Id: Ib8b88c5ae91af4d540e1829de5db32669cd68203
2022-02-23 08:47:12 -05:00
..
action_helper.c rb_info plugin and button,action+context name helper 2021-11-22 21:39:45 -05:00
action_helper.h Add custom action mapping to core 2022-02-23 08:47:12 -05:00
action_helper.pl Add custom action mapping to core 2022-02-23 08:47:12 -05:00
arg_helper.c pitchscreen make it a plugin 2021-11-10 22:38:37 -05:00
arg_helper.h pitchscreen make it a plugin 2021-11-10 22:38:37 -05:00
bmp_smooth_scale.c lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
button_helper.c rb_info plugin and button,action+context name helper 2021-11-22 21:39:45 -05:00
button_helper.h Add custom action mapping to core 2022-02-23 08:47:12 -05:00
button_helper.pl Add custom action mapping to core 2022-02-23 08:47:12 -05:00
checkbox.c Remove a bunch of build conditions inside .c files 2010-08-25 19:14:02 +00:00
checkbox.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
configfile.c plugins: Make 'struct configdata' argument to the configfile helper const 2020-08-09 10:27:32 -04:00
configfile.h plugins: Make 'struct configdata' argument to the configfile helper const 2020-08-09 10:27:32 -04:00
display_text.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
display_text.h some changes to use of display_text. 2010-02-22 07:17:15 +00:00
feature_wrappers.h
gcc-support.c Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets" 2012-10-24 14:05:39 +02:00
grey.h LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
grey_coldfire.S
grey_core.c Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
grey_draw.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
grey_parm.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
grey_scroll.c lcd/grey: Enable viewport fg_pattern and bg_pattern for all bitmap targets. 2014-01-07 22:14:41 +01:00
helper.c lib/helper add talk_val() 2021-08-18 21:30:13 -04:00
helper.h lib/helper add talk_val() 2021-08-18 21:30:13 -04:00
highscore.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
highscore.h plugin: implement highscore_show for player and use it in rockblox. 2010-02-22 13:45:24 +00:00
icon_helper.c Plugin Api add core bitmaps 2021-08-26 12:55:34 +00:00
icon_helper.h Plugin Api add core bitmaps 2021-08-26 12:55:34 +00:00
jhash.c Fix compile warnings (set-but-not-used) on big endian targets 2020-10-13 13:37:23 -04:00
jhash.h Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes). 2010-05-06 21:04:40 +00:00
jpeg_mem.h
kbd_helper.c Small fixes to kbd_create_layout 2021-07-20 21:30:55 +01:00
kbd_helper.h Small fixes to kbd_create_layout 2021-07-20 21:30:55 +01:00
keymaps.h New port: Shanling Q1 native 2021-07-13 22:01:33 +01:00
md5.c
md5.h Set svn:keywords property on .c and .h files that didn't already have it. Correct svn:executable property on some files. 2010-01-03 14:28:09 +00:00
mylcd.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
osd.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
osd.h [2/4] get rid of HAVE_LCD_CHARCELLS 2020-07-24 21:20:13 +00:00
overlay.c load_code/overlay: Don't close plugin handle before calling the plugin. 2012-05-26 22:57:21 +02:00
overlay.h Fix red, hopefully. 2020-10-09 13:04:38 +00:00
picture.c
picture.h
playback_control.c FS#7704 - Talk support for plugins 2019-07-20 08:48:35 +02:00
playback_control.h plugins/lib: remove out-dated comments about plugin api. 2010-02-25 12:14:36 +00:00
pluginlib_actions.c New port: Shanling Q1 native 2021-07-13 22:01:33 +01:00
pluginlib_actions.h S#10387 - Rework pluginlib actions 2010-05-20 17:41:28 +00:00
pluginlib_albumart.c
pluginlib_bmp.c lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
pluginlib_bmp.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
pluginlib_exit.h Fix building simulator plugins on Cygwin. A DLL stub containing atexit is linked to the plugins, so give our version a prefix. 2010-08-26 15:44:32 +00:00
pluginlib_jpeg_idct_arm.S
pluginlib_jpeg_load.c Hopefully all green now 2011-02-09 20:51:11 +00:00
pluginlib_jpeg_mem.c
pluginlib_resize.c
pluginlib_touchscreen.c lcd-common: Remove support for custom line heights from viewport. 2014-01-07 14:13:48 +01:00
pluginlib_touchscreen.h pluginlib_touchscreen: Rework API to offer wait-for-button APIs. 2012-01-27 09:15:05 +01:00
printcell_helper.c Printcell.c fix list item scrolling behavior 2022-01-05 10:43:55 -05:00
printcell_helper.h gui lists add callback for owner drawn items 2022-01-01 23:56:51 -05:00
profile_plugin.c
profile_plugin.h
read_image.c
read_image.h
rgb_hsv.c
rgb_hsv.h
sha1.c Fix endianness handling for sha1 (used by the otp plugin) 2016-06-28 13:33:50 +02:00
sha1.h One-Time Password client (HOTP and TOTP) 2016-06-05 14:25:09 -04:00
simple_viewer.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
simple_viewer.h add simple text viewer to pluginlib and use this for dict to show description. 2010-06-08 11:07:36 +00:00
SOURCES gui lists add callback for owner drawn items 2022-01-01 23:56:51 -05:00
stdio_compat.c fix red once more 2017-12-24 17:43:30 -05:00
stdio_compat.h Silence warning in stdio_compat.h 2019-07-19 23:51:07 -04:00
strncpy.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
wrappers.h Hopefully all green now 2011-02-09 20:51:11 +00:00
xlcd.h LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
xlcd_core.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
xlcd_draw.c Whitespace cleanup on fb_viewport Rewrite 2020-10-26 12:38:22 -04:00
xlcd_scroll.c Whitespace cleanup on fb_viewport Rewrite 2020-10-26 12:38:22 -04:00