diff options
Diffstat (limited to 'main.lua')
| -rw-r--r-- | main.lua | 79 |
1 files changed, 76 insertions, 3 deletions
@@ -77,7 +77,7 @@ local ctx = { epg = epg, xc = xc, } -rt.init(state, osd, input, ctx) +rt.init(state, osd, ctx) mp.observe_property('mouse-pos', 'native', function(_, mpos) input.update_mpos(mpos) @@ -116,8 +116,81 @@ state.saved_osc_visibility = mp.get_property_native( rt.set_osc_visibility() mp.add_forced_key_binding('TAB', 'toggle-menu', rt.toggle_menu) -input.init(state, osd) -input.set_key_mapping('MENU') + +input.init(state, osd, rt.toggle_menu) +input.define_mapping('MENU', { + ['BS'] = {rt.prev_menu}, + ['/'] = {rt.start_search}, + ['Ctrl+s'] = {rt.toggle_menu_sort}, + ['Ctrl+R'] = {rt.reload_data}, + + ['ENTER'] = {rt.select_option}, + ['Ctrl+f'] = {rt.favourite_option}, + ['g'] = {rt.goto_option}, + ['i'] = {rt.open_option_info}, + ['?'] = {rt.open_option_info}, + ['Ctrl+p'] = {rt.goto_playing}, + + ['k'] = {rt.cursor_up, 'repeat'}, + ['j'] = {rt.cursor_down, 'repeat'}, + ['K'] = {rt.cursor_page_up, 'repeat'}, + ['J'] = {rt.cursor_page_down, 'repeat'}, + ['UP'] = {rt.cursor_up, 'repeat'}, + ['DOWN'] = {rt.cursor_down, 'repeat'}, + ['Shift+UP'] = {rt.cursor_page_up, 'repeat'}, + ['Shift+DOWN'] = {rt.cursor_page_down, 'repeat'}, + ['PGUP'] = {rt.cursor_page_up, 'repeat'}, + ['PGDWN'] = {rt.cursor_page_down, 'repeat'}, + ['HOME'] = {rt.cursor_start}, + ['END'] = {rt.cursor_end}, + ['WHEEL_UP'] = {rt.cursor_wheel_up, 'repeat'}, + ['WHEEL_DOWN'] = {rt.cursor_wheel_down, 'repeat'}, + ['Shift+WHEEL_UP'] = {rt.cursor_wheel_page_up, 'repeat'}, + ['Shift+WHEEL_DOWN'] = {rt.cursor_wheel_page_down, 'repeat'}, + + ['Alt+k'] = {rt.move_option_up, 'repeat'}, + ['Alt+j'] = {rt.move_option_down, 'repeat'}, + ['Alt+K'] = {rt.move_option_page_up, 'repeat'}, + ['Alt+J'] = {rt.move_option_page_down, 'repeat'}, + ['Alt+UP'] = {rt.move_option_up, 'repeat'}, + ['Alt+DOWN'] = {rt.move_option_down, 'repeat'}, + ['Shift+Alt+UP'] = {rt.move_option_page_up, 'repeat'}, + ['Shift+Alt+DOWN'] = {rt.move_option_page_down, 'repeat'}, + ['Alt+PGUP'] = {rt.move_option_page_up, 'repeat'}, + ['Alt+PGDWN'] = {rt.move_option_page_down, 'repeat'}, + ['Alt+HOME'] = {rt.move_option_start}, + ['Alt+END'] = {rt.move_option_end}, + ['Alt+WHEEL_UP'] = {rt.move_option_wheel_up, 'repeat'}, + ['Alt+WHEEL_DOWN'] = {rt.move_option_wheel_down, 'repeat'}, + ['Shift+Alt+WHEEL_UP'] = {rt.move_option_wheel_page_up, 'repeat'}, + ['Shift+Alt+WHEEL_DOWN'] = {rt.move_option_wheel_page_down, 'repeat'}, + + _targets = { + scrollbar = { + ['MBTN_LEFT_DBL'] = {rt.dbl_click_scrollbar}, + }, + menu = { + ['MBTN_LEFT'] = {rt.click_menu}, + ['MBTN_LEFT_DBL'] = {rt.dbl_click_menu}, + ['MBTN_RIGHT_DBL'] = {rt.dbl_right_click_menu}, + }, + }, +}) +input.define_mapping('SEARCH', { + ['ANY_UNICODE'] = {rt.search_input_char, 'complex'}, + ['BS'] = {rt.search_input_bs, 'repeat'}, + ['DEL'] = {rt.search_input_del, 'repeat'}, + + ['ENTER'] = {rt.end_search}, + ['ESC'] = {rt.cancel_search}, + ['Ctrl+c'] = {rt.cancel_search}, + + ['LEFT'] = {rt.search_cursor_left, 'repeat'}, + ['RIGHT'] = {rt.search_cursor_right, 'repeat'}, + ['Ctrl+a'] = {rt.search_cursor_start}, + ['Ctrl+e'] = {rt.search_cursor_end}, +}) +input.set_mapping('MENU') input.set_key_bindings() mp.add_timeout(0, function() |
