mirror of
https://github.com/vale981/spectrwm
synced 2025-03-04 17:31:40 -05:00
Fix keyboard_mapping fallback issue.
When the keyboard_mapping option fails to load the specified path, the restored default bindings should take into account the current value of modkey.
This commit is contained in:
parent
68d7f0b3b9
commit
985528ad57
1 changed files with 70 additions and 68 deletions
138
spectrwm.c
138
spectrwm.c
|
@ -8986,38 +8986,39 @@ setconfbinding(const char *selector, const char *value, int flags)
|
|||
return (1);
|
||||
}
|
||||
|
||||
#define MODSHIFT MODKEY | XCB_MOD_MASK_SHIFT
|
||||
#define MOD mod_key
|
||||
#define MODSHIFT mod_key | XCB_MOD_MASK_SHIFT
|
||||
void
|
||||
setup_keybindings(void)
|
||||
{
|
||||
#define BINDKEY(m, k, a) setbinding(m, KEYBIND, k, a, 0, NULL)
|
||||
#define BINDKEYSPAWN(m, k, s) setbinding(m, KEYBIND, k, FN_SPAWN_CUSTOM, 0, s)
|
||||
BINDKEY(MODKEY, XK_b, FN_BAR_TOGGLE);
|
||||
BINDKEY(MOD, XK_b, FN_BAR_TOGGLE);
|
||||
BINDKEY(MODSHIFT, XK_b, FN_BAR_TOGGLE_WS);
|
||||
BINDKEY(MODKEY, XK_b, FN_BAR_TOGGLE);
|
||||
BINDKEY(MOD, XK_b, FN_BAR_TOGGLE);
|
||||
BINDKEY(MODSHIFT, XK_b, FN_BAR_TOGGLE_WS);
|
||||
BINDKEY(MODKEY, XK_v, FN_BUTTON2);
|
||||
BINDKEY(MODKEY, XK_space, FN_CYCLE_LAYOUT);
|
||||
BINDKEY(MOD, XK_v, FN_BUTTON2);
|
||||
BINDKEY(MOD, XK_space, FN_CYCLE_LAYOUT);
|
||||
BINDKEY(MODSHIFT, XK_backslash, FN_FLIP_LAYOUT);
|
||||
BINDKEY(MODKEY, XK_t, FN_FLOAT_TOGGLE);
|
||||
BINDKEY(MODKEY, XK_m, FN_FOCUS_MAIN);
|
||||
BINDKEY(MODKEY, XK_j, FN_FOCUS_NEXT);
|
||||
BINDKEY(MODKEY, XK_Tab, FN_FOCUS_NEXT);
|
||||
BINDKEY(MODKEY, XK_k, FN_FOCUS_PREV);
|
||||
BINDKEY(MOD, XK_t, FN_FLOAT_TOGGLE);
|
||||
BINDKEY(MOD, XK_m, FN_FOCUS_MAIN);
|
||||
BINDKEY(MOD, XK_j, FN_FOCUS_NEXT);
|
||||
BINDKEY(MOD, XK_Tab, FN_FOCUS_NEXT);
|
||||
BINDKEY(MOD, XK_k, FN_FOCUS_PREV);
|
||||
BINDKEY(MODSHIFT, XK_Tab, FN_FOCUS_PREV);
|
||||
BINDKEY(MODKEY, XK_u, FN_FOCUS_URGENT);
|
||||
BINDKEY(MOD, XK_u, FN_FOCUS_URGENT);
|
||||
BINDKEY(MODSHIFT, XK_e, FN_FULLSCREEN_TOGGLE);
|
||||
BINDKEY(MODKEY, XK_e, FN_MAXIMIZE_TOGGLE);
|
||||
BINDKEY(MOD, XK_e, FN_MAXIMIZE_TOGGLE);
|
||||
BINDKEY(MODSHIFT, XK_equal, FN_HEIGHT_GROW);
|
||||
BINDKEY(MODSHIFT, XK_minus, FN_HEIGHT_SHRINK);
|
||||
BINDKEY(MODKEY, XK_w, FN_ICONIFY);
|
||||
BINDKEY(MODKEY, XK_h, FN_MASTER_SHRINK);
|
||||
BINDKEY(MODKEY, XK_l, FN_MASTER_GROW);
|
||||
BINDKEY(MODKEY, XK_comma, FN_MASTER_ADD);
|
||||
BINDKEY(MODKEY, XK_period, FN_MASTER_DEL);
|
||||
BINDKEY(MOD, XK_w, FN_ICONIFY);
|
||||
BINDKEY(MOD, XK_h, FN_MASTER_SHRINK);
|
||||
BINDKEY(MOD, XK_l, FN_MASTER_GROW);
|
||||
BINDKEY(MOD, XK_comma, FN_MASTER_ADD);
|
||||
BINDKEY(MOD, XK_period, FN_MASTER_DEL);
|
||||
BINDKEY(MODSHIFT, XK_bracketright, FN_MOVE_DOWN);
|
||||
BINDKEY(MODKEY, XK_bracketleft, FN_MOVE_LEFT);
|
||||
BINDKEY(MODKEY, XK_bracketright, FN_MOVE_RIGHT);
|
||||
BINDKEY(MOD, XK_bracketleft, FN_MOVE_LEFT);
|
||||
BINDKEY(MOD, XK_bracketright, FN_MOVE_RIGHT);
|
||||
BINDKEY(MODSHIFT, XK_bracketleft, FN_MOVE_UP);
|
||||
BINDKEY(MODSHIFT, XK_KP_End, FN_MVRG_1);
|
||||
BINDKEY(MODSHIFT, XK_KP_Down, FN_MVRG_2);
|
||||
|
@ -9052,71 +9053,71 @@ setup_keybindings(void)
|
|||
BINDKEY(MODSHIFT, XK_F12, FN_MVWS_22);
|
||||
BINDKEY(MODSHIFT, XK_slash, FN_NAME_WORKSPACE);
|
||||
BINDKEY(MODSHIFT, XK_q, FN_QUIT);
|
||||
BINDKEY(MODKEY, XK_r, FN_RAISE);
|
||||
BINDKEY(MOD, XK_r, FN_RAISE);
|
||||
BINDKEY(MODSHIFT, XK_r, FN_RAISE_TOGGLE);
|
||||
BINDKEY(MODKEY, XK_q, FN_RESTART);
|
||||
BINDKEY(MODKEY, XK_KP_End, FN_RG_1);
|
||||
BINDKEY(MODKEY, XK_KP_Down, FN_RG_2);
|
||||
BINDKEY(MODKEY, XK_KP_Next, FN_RG_3);
|
||||
BINDKEY(MODKEY, XK_KP_Left, FN_RG_4);
|
||||
BINDKEY(MODKEY, XK_KP_Begin, FN_RG_5);
|
||||
BINDKEY(MODKEY, XK_KP_Right, FN_RG_6);
|
||||
BINDKEY(MODKEY, XK_KP_Home, FN_RG_7);
|
||||
BINDKEY(MODKEY, XK_KP_Up, FN_RG_8);
|
||||
BINDKEY(MODKEY, XK_KP_Prior, FN_RG_9);
|
||||
BINDKEY(MOD, XK_q, FN_RESTART);
|
||||
BINDKEY(MOD, XK_KP_End, FN_RG_1);
|
||||
BINDKEY(MOD, XK_KP_Down, FN_RG_2);
|
||||
BINDKEY(MOD, XK_KP_Next, FN_RG_3);
|
||||
BINDKEY(MOD, XK_KP_Left, FN_RG_4);
|
||||
BINDKEY(MOD, XK_KP_Begin, FN_RG_5);
|
||||
BINDKEY(MOD, XK_KP_Right, FN_RG_6);
|
||||
BINDKEY(MOD, XK_KP_Home, FN_RG_7);
|
||||
BINDKEY(MOD, XK_KP_Up, FN_RG_8);
|
||||
BINDKEY(MOD, XK_KP_Prior, FN_RG_9);
|
||||
BINDKEY(MODSHIFT, XK_Right, FN_RG_NEXT);
|
||||
BINDKEY(MODSHIFT, XK_Left, FN_RG_PREV);
|
||||
BINDKEY(MODKEY, XK_f, FN_SEARCH_WIN);
|
||||
BINDKEY(MODKEY, XK_slash, FN_SEARCH_WORKSPACE);
|
||||
BINDKEY(MOD, XK_f, FN_SEARCH_WIN);
|
||||
BINDKEY(MOD, XK_slash, FN_SEARCH_WORKSPACE);
|
||||
BINDKEYSPAWN(MODSHIFT, XK_i, "initscr");
|
||||
BINDKEYSPAWN(MODSHIFT, XK_Delete, "lock");
|
||||
BINDKEYSPAWN(MODKEY, XK_p, "menu");
|
||||
BINDKEYSPAWN(MODKEY, XK_s, "screenshot_all");
|
||||
BINDKEYSPAWN(MOD, XK_p, "menu");
|
||||
BINDKEYSPAWN(MOD, XK_s, "screenshot_all");
|
||||
BINDKEYSPAWN(MODSHIFT, XK_s, "screenshot_wind");
|
||||
BINDKEYSPAWN(MODSHIFT, XK_Return, "term");
|
||||
BINDKEY(MODSHIFT, XK_comma, FN_STACK_INC);
|
||||
BINDKEY(MODSHIFT, XK_period, FN_STACK_DEC);
|
||||
BINDKEY(MODSHIFT, XK_space, FN_STACK_RESET);
|
||||
BINDKEY(MODKEY, XK_Return, FN_SWAP_MAIN);
|
||||
BINDKEY(MOD, XK_Return, FN_SWAP_MAIN);
|
||||
BINDKEY(MODSHIFT, XK_j, FN_SWAP_NEXT);
|
||||
BINDKEY(MODSHIFT, XK_k, FN_SWAP_PREV);
|
||||
BINDKEY(MODSHIFT, XK_w, FN_UNICONIFY);
|
||||
BINDKEY(MODSHIFT, XK_v, FN_VERSION);
|
||||
BINDKEY(MODKEY, XK_equal, FN_WIDTH_GROW);
|
||||
BINDKEY(MODKEY, XK_minus, FN_WIDTH_SHRINK);
|
||||
BINDKEY(MODKEY, XK_x, FN_WIND_DEL);
|
||||
BINDKEY(MOD, XK_equal, FN_WIDTH_GROW);
|
||||
BINDKEY(MOD, XK_minus, FN_WIDTH_SHRINK);
|
||||
BINDKEY(MOD, XK_x, FN_WIND_DEL);
|
||||
BINDKEY(MODSHIFT, XK_x, FN_WIND_KILL);
|
||||
BINDKEY(MODKEY, XK_1, FN_WS_1);
|
||||
BINDKEY(MODKEY, XK_2, FN_WS_2);
|
||||
BINDKEY(MODKEY, XK_3, FN_WS_3);
|
||||
BINDKEY(MODKEY, XK_4, FN_WS_4);
|
||||
BINDKEY(MODKEY, XK_5, FN_WS_5);
|
||||
BINDKEY(MODKEY, XK_6, FN_WS_6);
|
||||
BINDKEY(MODKEY, XK_7, FN_WS_7);
|
||||
BINDKEY(MODKEY, XK_8, FN_WS_8);
|
||||
BINDKEY(MODKEY, XK_9, FN_WS_9);
|
||||
BINDKEY(MODKEY, XK_0, FN_WS_10);
|
||||
BINDKEY(MODKEY, XK_F1, FN_WS_11);
|
||||
BINDKEY(MODKEY, XK_F2, FN_WS_12);
|
||||
BINDKEY(MODKEY, XK_F3, FN_WS_13);
|
||||
BINDKEY(MODKEY, XK_F4, FN_WS_14);
|
||||
BINDKEY(MODKEY, XK_F5, FN_WS_15);
|
||||
BINDKEY(MODKEY, XK_F6, FN_WS_16);
|
||||
BINDKEY(MODKEY, XK_F7, FN_WS_17);
|
||||
BINDKEY(MODKEY, XK_F8, FN_WS_18);
|
||||
BINDKEY(MODKEY, XK_F9, FN_WS_19);
|
||||
BINDKEY(MODKEY, XK_F10, FN_WS_20);
|
||||
BINDKEY(MODKEY, XK_F11, FN_WS_21);
|
||||
BINDKEY(MODKEY, XK_F12, FN_WS_22);
|
||||
BINDKEY(MODKEY, XK_Right, FN_WS_NEXT);
|
||||
BINDKEY(MODKEY, XK_Left, FN_WS_PREV);
|
||||
BINDKEY(MODKEY, XK_Up, FN_WS_NEXT_ALL);
|
||||
BINDKEY(MODKEY, XK_Down, FN_WS_PREV_ALL);
|
||||
BINDKEY(MOD, XK_1, FN_WS_1);
|
||||
BINDKEY(MOD, XK_2, FN_WS_2);
|
||||
BINDKEY(MOD, XK_3, FN_WS_3);
|
||||
BINDKEY(MOD, XK_4, FN_WS_4);
|
||||
BINDKEY(MOD, XK_5, FN_WS_5);
|
||||
BINDKEY(MOD, XK_6, FN_WS_6);
|
||||
BINDKEY(MOD, XK_7, FN_WS_7);
|
||||
BINDKEY(MOD, XK_8, FN_WS_8);
|
||||
BINDKEY(MOD, XK_9, FN_WS_9);
|
||||
BINDKEY(MOD, XK_0, FN_WS_10);
|
||||
BINDKEY(MOD, XK_F1, FN_WS_11);
|
||||
BINDKEY(MOD, XK_F2, FN_WS_12);
|
||||
BINDKEY(MOD, XK_F3, FN_WS_13);
|
||||
BINDKEY(MOD, XK_F4, FN_WS_14);
|
||||
BINDKEY(MOD, XK_F5, FN_WS_15);
|
||||
BINDKEY(MOD, XK_F6, FN_WS_16);
|
||||
BINDKEY(MOD, XK_F7, FN_WS_17);
|
||||
BINDKEY(MOD, XK_F8, FN_WS_18);
|
||||
BINDKEY(MOD, XK_F9, FN_WS_19);
|
||||
BINDKEY(MOD, XK_F10, FN_WS_20);
|
||||
BINDKEY(MOD, XK_F11, FN_WS_21);
|
||||
BINDKEY(MOD, XK_F12, FN_WS_22);
|
||||
BINDKEY(MOD, XK_Right, FN_WS_NEXT);
|
||||
BINDKEY(MOD, XK_Left, FN_WS_PREV);
|
||||
BINDKEY(MOD, XK_Up, FN_WS_NEXT_ALL);
|
||||
BINDKEY(MOD, XK_Down, FN_WS_PREV_ALL);
|
||||
BINDKEY(MODSHIFT, XK_Up, FN_WS_NEXT_MOVE);
|
||||
BINDKEY(MODSHIFT, XK_Down, FN_WS_PREV_MOVE);
|
||||
BINDKEY(MODKEY, XK_a, FN_WS_PRIOR);
|
||||
BINDKEY(MOD, XK_a, FN_WS_PRIOR);
|
||||
#ifdef SWM_DEBUG
|
||||
BINDKEY(MODKEY, XK_d, FN_DEBUG_TOGGLE);
|
||||
BINDKEY(MOD, XK_d, FN_DEBUG_TOGGLE);
|
||||
BINDKEY(MODSHIFT, XK_d, FN_DUMPWINS);
|
||||
#endif
|
||||
#undef BINDKEY
|
||||
|
@ -9128,12 +9129,13 @@ setup_btnbindings(void)
|
|||
{
|
||||
setbinding(ANYMOD, BTNBIND, XCB_BUTTON_INDEX_1, FN_FOCUS,
|
||||
BINDING_F_REPLAY, NULL);
|
||||
setbinding(MODKEY, BTNBIND, XCB_BUTTON_INDEX_3, FN_RESIZE, 0, NULL);
|
||||
setbinding(MOD, BTNBIND, XCB_BUTTON_INDEX_3, FN_RESIZE, 0, NULL);
|
||||
setbinding(MODSHIFT, BTNBIND, XCB_BUTTON_INDEX_3, FN_RESIZE_CENTERED, 0,
|
||||
NULL);
|
||||
setbinding(MODKEY, BTNBIND, XCB_BUTTON_INDEX_1, FN_MOVE, 0, NULL);
|
||||
setbinding(MOD, BTNBIND, XCB_BUTTON_INDEX_1, FN_MOVE, 0, NULL);
|
||||
}
|
||||
#undef MODSHIFT
|
||||
#undef MOD
|
||||
|
||||
void
|
||||
clear_bindings(void)
|
||||
|
|
Loading…
Add table
Reference in a new issue