1 #ifndef KEYBINDINGSCREEN_H
2 #define KEYBINDINGSCREEN_H
11 class KeybindingScreen
: public viewscreenst
{
12 enum { mode_main
, mode_keyL
, mode_keyR
, mode_macro
, mode_register
} mode
;
13 enum keyR_type
{ sel_add
, sel_rep_none
, sel_rep_slow
, sel_rep_fast
, sel_event
};
14 enum main_selector
{ sel_macros
, sel_just_exit
, sel_save_exit
, sel_first_group
};
16 struct keyR_selector
{
18 EventMatch event
; // Uninitialized if sel != sel_event
21 widgets::menu
<int> main
; // Representing main_selector
22 widgets::menu
<InterfaceKey
> keyL
;
23 widgets::menu
<keyR_selector
> keyR
;
24 widgets::menu
<std::string
> macro
;
25 widgets::menu
<MatchType
> keyRegister
;
30 void render_register();
34 void enter_key(int group
);
39 virtual void feed(std::set
<InterfaceKey
> &events
);
40 virtual void render();
43 virtual char is_option_screen() { return 2; }
46 class MacroScreenLoad
: public viewscreenst
{
47 widgets::menu
<string
> menu
;
53 virtual void render();
54 virtual void feed(std::set
<InterfaceKey
> &events
);
55 virtual char is_option_screen() { return 1; }
58 class MacroScreenSave
: public viewscreenst
{
63 virtual void render();
64 virtual void feed(std::set
<InterfaceKey
> &events
);
65 virtual char is_option_screen() { return 1; }