setup custom keybindings

This is entirely my own scheme very losely based on xah-fly-keys.
config
Ryan 2023-09-27 00:20:12 -04:00
parent 7ff122a9ef
commit 9028dbe8ef
Signed by: ryan
GPG Key ID: 7D7E2E94267DAD95
1 changed files with 55 additions and 30 deletions

View File

@ -71,9 +71,6 @@ static const Layout layouts[] = {
*/
static const MonitorRule monrules[] = {
/* name mfact nmaster scale layout rotate/reflect x y */
/* example of a HiDPI laptop monitor:
{ "eDP-1", 0.5, 1, 2, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1 },
*/
/* defaults */
{ NULL, 0.55, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1 },
};
@ -150,40 +147,68 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
/* commands */
static const char *termcmd[] = { "foot", NULL };
static const char *menucmd[] = { "bemenu-run", NULL };
static const char *termcmd[] = { "st", NULL };
static const char *menucmd[] = { "dmenu_run", NULL };
static const char *emacscmd[] = { "emacsclient", "-c", NULL };
static const Key keys[] = {
/* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */
/* modifier key function argument */
{ MODKEY, XKB_KEY_p, spawn, {.v = menucmd} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = termcmd} },
{ MODKEY, XKB_KEY_b, togglebar, {0}},
{ MODKEY, XKB_KEY_r, regions, SHCMD("grim -g \"$(slurp)\"") },
{ MODKEY, XKB_KEY_j, focusstack, {.i = +1} },
{ MODKEY, XKB_KEY_k, focusstack, {.i = -1} },
{ MODKEY, XKB_KEY_i, incnmaster, {.i = +1} },
{ MODKEY, XKB_KEY_d, incnmaster, {.i = -1} },
{ MODKEY, XKB_KEY_h, setmfact, {.f = -0.05} },
{ MODKEY, XKB_KEY_l, setmfact, {.f = +0.05} },
{ MODKEY, XKB_KEY_H, setcfact, {.f = +0.25} },
{ MODKEY, XKB_KEY_L, setcfact, {.f = -0.25} },
{ MODKEY, XKB_KEY_K, setcfact, {.f = 0} },
{ MODKEY, XKB_KEY_Return, zoom, {0} },
{ MODKEY, XKB_KEY_Tab, view, {0} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_C, killclient, {0} },
{ MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} },
{ MODKEY, XKB_KEY_f, setlayout, {.v = &layouts[1]} },
{ MODKEY, XKB_KEY_m, setlayout, {.v = &layouts[2]} },
/* spawn programs */
{ MODKEY, XKB_KEY_t, spawn, {.v = menucmd} },
{ MODKEY, XKB_KEY_a, spawn, {.v = termcmd} },
{ MODKEY, XKB_KEY_g, spawn, {.v = emacscmd} },
{ MODKEY, XKB_KEY_c, regions, SHCMD("grim -g \"$(slurp)\" | swappy -f -") },
{ MODKEY, XKB_KEY_s, spawn, SHCMD("pass-dmenu type") },
{ MODKEY|ShiftMask, XKB_KEY_s, spawn, SHCMD("pass-dmenu clip") },
/* navigate windows */
{ MODKEY, XKB_KEY_n, focusstack, {.i = +1} },
{ MODKEY, XKB_KEY_i, focusstack, {.i = -1} },
{ MODKEY, XKB_KEY_e, focusmon, {.i = WLR_DIRECTION_DOWN} },
{ MODKEY, XKB_KEY_u, focusmon, {.i = WLR_DIRECTION_UP} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_E, tagmon, {.i = WLR_DIRECTION_DOWN} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_U, tagmon, {.i = WLR_DIRECTION_UP} },
/* control master/stack layout */
{ MODKEY, XKB_KEY_m, zoom, {0} },
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_u, incnmaster, {.i = +1} },
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_e, incnmaster, {.i = -1} },
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_n, setmfact, {.f = -0.05} },
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_i, setmfact, {.f = +0.05} },
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_h, setcfact, {.f = +0.25} },
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_comma, setcfact, {.f = -0.25} },
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_period, setcfact, {.f = 0} },
/* manage clients */
{ MODKEY, XKB_KEY_q, killclient, {0} },
{ MODKEY, XKB_KEY_x, togglefloating, {0} },
{ MODKEY, XKB_KEY_d, togglefullscreen, {0} },
/* layouts */
{ MODKEY, XKB_KEY_space, setlayout, {0} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_space, togglefloating, {0} },
{ MODKEY, XKB_KEY_e, togglefullscreen, {0} },
{ MODKEY, XKB_KEY_w, setlayout, {.v = &layouts[0]} },
{ MODKEY, XKB_KEY_f, setlayout, {.v = &layouts[1]} },
{ MODKEY, XKB_KEY_p, setlayout, {.v = &layouts[2]} },
/* window manager controls */
{ MODKEY, XKB_KEY_z, togglebar, {0}},
/* media controls */
{ 0, XKB_KEY_XF86AudioRaiseVolume, spawn, SHCMD("pamixer -i 5") },
{ 0, XKB_KEY_XF86AudioLowerVolume, spawn, SHCMD("pamixer -d 5") },
{ 0, XKB_KEY_XF86AudioMute, spawn, SHCMD("pamixer --toggle-mute") },
{ 0, XKB_KEY_XF86MonBrightnessUp, spawn, SHCMD("sudo light -A 5") },
{ 0, XKB_KEY_XF86MonBrightnessDown, spawn, SHCMD("sudo light -U 5") },
{ 0, XKB_KEY_XF86AudioMedia, spawn, SHCMD("playerctl play-pause") },
{ 0, XKB_KEY_XF86AudioPlay, spawn, SHCMD("playerctl play-pause") },
{ 0, XKB_KEY_XF86AudioNext, spawn, SHCMD("playerctl next") },
{ 0, XKB_KEY_XF86AudioPrev, spawn, SHCMD("playerctl previous") },
/* Tags */
{ MODKEY, XKB_KEY_Tab, view, {0} },
{ MODKEY, XKB_KEY_0, view, {.ui = ~0} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_parenright, tag, {.ui = ~0} },
{ MODKEY, XKB_KEY_comma, focusmon, {.i = WLR_DIRECTION_LEFT} },
{ MODKEY, XKB_KEY_period, focusmon, {.i = WLR_DIRECTION_RIGHT} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_less, tagmon, {.i = WLR_DIRECTION_LEFT} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_greater, tagmon, {.i = WLR_DIRECTION_RIGHT} },
TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0),
TAGKEYS( XKB_KEY_2, XKB_KEY_at, 1),
TAGKEYS( XKB_KEY_3, XKB_KEY_numbersign, 2),