keycodes mod
This commit is contained in:
		
							
								
								
									
										68
									
								
								config.def.h
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								config.def.h
									
									
									
									
									
								
							@@ -62,40 +62,40 @@ static const char *slockcmd[] = { "slock", NULL };
 | 
			
		||||
 | 
			
		||||
static const Key keys[] = {
 | 
			
		||||
	/* modifier                     key        function        argument */
 | 
			
		||||
	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_l,      spawn,          {.v = slockcmd } },
 | 
			
		||||
	{ MODKEY,                       XK_b,      togglebar,      {0} },
 | 
			
		||||
	{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
 | 
			
		||||
	{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
 | 
			
		||||
	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
 | 
			
		||||
	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
 | 
			
		||||
	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
	{ MODKEY,                       XK_Tab,    view,           {0} },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
 | 
			
		||||
	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
	{ MODKEY,                       XK_space,  setlayout,      {0} },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
 | 
			
		||||
	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
 | 
			
		||||
	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
 | 
			
		||||
	TAGKEYS(                        XK_1,                      0)
 | 
			
		||||
	TAGKEYS(                        XK_2,                      1)
 | 
			
		||||
	TAGKEYS(                        XK_3,                      2)
 | 
			
		||||
	TAGKEYS(                        XK_4,                      3)
 | 
			
		||||
	TAGKEYS(                        XK_5,                      4)
 | 
			
		||||
	TAGKEYS(                        XK_6,                      5)
 | 
			
		||||
	TAGKEYS(                        XK_7,                      6)
 | 
			
		||||
	TAGKEYS(                        XK_8,                      7)
 | 
			
		||||
	TAGKEYS(                        XK_9,                      8)
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
 | 
			
		||||
		{ MODKEY|ShiftMask,     10,      spawn,          {.v = slockcmd } },
 | 
			
		||||
		{ MODKEY,               33,    spawn,          {.v = dmenucmd } }, // p
 | 
			
		||||
		{ MODKEY|ShiftMask,     36,    spawn,          {.v = termcmd } }, // Return
 | 
			
		||||
		{ MODKEY,               56,    togglebar,      {0} },             // b
 | 
			
		||||
		{ MODKEY,               44,    focusstack,     {.i = +1 } },      // j
 | 
			
		||||
		{ MODKEY,               45,    focusstack,     {.i = -1 } },      // k
 | 
			
		||||
		{ MODKEY,               31,    incnmaster,     {.i = +1 } },      // i
 | 
			
		||||
		{ MODKEY,               40,    incnmaster,     {.i = -1 } },      // d
 | 
			
		||||
		{ MODKEY,               43,    setmfact,       {.f = -0.05} },    // h
 | 
			
		||||
		{ MODKEY,               46,    setmfact,       {.f = +0.05} },    // l
 | 
			
		||||
		{ MODKEY,               36,    zoom,           {0} },             // Return
 | 
			
		||||
		{ MODKEY,               23,    view,           {0} },             // Tab
 | 
			
		||||
		{ MODKEY|ShiftMask,     54,    killclient,     {0} },             // c
 | 
			
		||||
		{ MODKEY,               28,    setlayout,      {.v = &layouts[0]} }, // t
 | 
			
		||||
		{ MODKEY,               41,    setlayout,      {.v = &layouts[1]} }, // f
 | 
			
		||||
		{ MODKEY,               58,    setlayout,      {.v = &layouts[2]} }, // m
 | 
			
		||||
		{ MODKEY,               65,    setlayout,      {0} },             // space
 | 
			
		||||
		{ MODKEY|ShiftMask,     65,    togglefloating, {0} },             // space
 | 
			
		||||
		{ MODKEY,               19,    view,           {.ui = ~0 } },     // 0
 | 
			
		||||
		{ MODKEY|ShiftMask,     19,    tag,            {.ui = ~0 } },     // 0
 | 
			
		||||
		{ MODKEY,               59,    focusmon,       {.i = -1 } },      // comma
 | 
			
		||||
		{ MODKEY,               60,    focusmon,       {.i = +1 } },      // period
 | 
			
		||||
		{ MODKEY|ShiftMask,     59,    tagmon,         {.i = -1 } },      // comma
 | 
			
		||||
		{ MODKEY|ShiftMask,     60,    tagmon,         {.i = +1 } },      // period
 | 
			
		||||
		TAGKEYS(                10,                    0)                 // 1
 | 
			
		||||
		TAGKEYS(                11,                    1)                 // 2
 | 
			
		||||
		TAGKEYS(                12,                    2)                 // 3
 | 
			
		||||
		TAGKEYS(                13,                    3)                 // 4
 | 
			
		||||
		TAGKEYS(                14,                    4)                 // 5
 | 
			
		||||
		TAGKEYS(                15,                    5)                 // 6
 | 
			
		||||
		TAGKEYS(                16,                    6)                 // 7
 | 
			
		||||
		TAGKEYS(                17,                    7)                 // 8
 | 
			
		||||
		TAGKEYS(                18,                    8)                 // 9
 | 
			
		||||
		{ MODKEY|ShiftMask,     24,    quit,           {0} },             // q
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* button definitions */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										117
									
								
								config.def.h.bak2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								config.def.h.bak2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,117 @@
 | 
			
		||||
/* See LICENSE file for copyright and license details. */
 | 
			
		||||
 | 
			
		||||
/* appearance */
 | 
			
		||||
static const unsigned int borderpx  = 1;        /* border pixel of windows */
 | 
			
		||||
static const unsigned int snap      = 32;       /* snap pixel */
 | 
			
		||||
static const int showbar            = 1;        /* 0 means no bar */
 | 
			
		||||
static const int topbar             = 1;        /* 0 means bottom bar */
 | 
			
		||||
static const char *fonts[]          = { "monospace:size=10" };
 | 
			
		||||
static const char dmenufont[]       = "monospace:size=10";
 | 
			
		||||
static const char col_gray1[]       = "#222222";
 | 
			
		||||
static const char col_gray2[]       = "#444444";
 | 
			
		||||
static const char col_gray3[]       = "#bbbbbb";
 | 
			
		||||
static const char col_gray4[]       = "#eeeeee";
 | 
			
		||||
static const char col_cyan[]        = "#005577";
 | 
			
		||||
static const char *colors[][3]      = {
 | 
			
		||||
	/*               fg         bg         border   */
 | 
			
		||||
	[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
 | 
			
		||||
	[SchemeSel]  = { col_gray4, col_cyan,  col_cyan  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* tagging */
 | 
			
		||||
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
 | 
			
		||||
 | 
			
		||||
static const Rule rules[] = {
 | 
			
		||||
	/* xprop(1):
 | 
			
		||||
	 *	WM_CLASS(STRING) = instance, class
 | 
			
		||||
	 *	WM_NAME(STRING) = title
 | 
			
		||||
	 */
 | 
			
		||||
	/* class      instance    title       tags mask     isfloating   monitor */
 | 
			
		||||
	{ "Gimp",     NULL,       NULL,       0,            1,           -1 },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* layout(s) */
 | 
			
		||||
static const float mfact     = 0.55; /* factor of master area size [0.05..0.95] */
 | 
			
		||||
static const int nmaster     = 1;    /* number of clients in master area */
 | 
			
		||||
static const int resizehints = 1;    /* 1 means respect size hints in tiled resizals */
 | 
			
		||||
static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */
 | 
			
		||||
 | 
			
		||||
static const Layout layouts[] = {
 | 
			
		||||
	/* symbol     arrange function */
 | 
			
		||||
	{ "[]=",      tile },    /* first entry is default */
 | 
			
		||||
	{ "><>",      NULL },    /* no layout function means floating behavior */
 | 
			
		||||
	{ "[M]",      monocle },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* key definitions */
 | 
			
		||||
#define MODKEY Mod1Mask
 | 
			
		||||
#define TAGKEYS(KEY,TAG) \
 | 
			
		||||
	{ MODKEY,                       KEY,      view,           {.ui = 1 << TAG} }, \
 | 
			
		||||
	{ MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },
 | 
			
		||||
 | 
			
		||||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
 | 
			
		||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
			
		||||
 | 
			
		||||
/* commands */
 | 
			
		||||
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 | 
			
		||||
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
 | 
			
		||||
static const char *termcmd[]  = { "kitty", NULL };
 | 
			
		||||
static const char *slockcmd[] = { "slock", NULL };
 | 
			
		||||
 | 
			
		||||
static const Key keys[] = {
 | 
			
		||||
	/* modifier                     key        function        argument */
 | 
			
		||||
	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_l,      spawn,          {.v = slockcmd } },
 | 
			
		||||
	{ MODKEY,                       XK_b,      togglebar,      {0} },
 | 
			
		||||
	{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
 | 
			
		||||
	{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
 | 
			
		||||
	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
 | 
			
		||||
	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
 | 
			
		||||
	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
	{ MODKEY,                       XK_Tab,    view,           {0} },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
 | 
			
		||||
	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
	{ MODKEY,                       XK_space,  setlayout,      {0} },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
 | 
			
		||||
	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
 | 
			
		||||
	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
 | 
			
		||||
	TAGKEYS(                        XK_1,                      0)
 | 
			
		||||
	TAGKEYS(                        XK_2,                      1)
 | 
			
		||||
	TAGKEYS(                        XK_3,                      2)
 | 
			
		||||
	TAGKEYS(                        XK_4,                      3)
 | 
			
		||||
	TAGKEYS(                        XK_5,                      4)
 | 
			
		||||
	TAGKEYS(                        XK_6,                      5)
 | 
			
		||||
	TAGKEYS(                        XK_7,                      6)
 | 
			
		||||
	TAGKEYS(                        XK_8,                      7)
 | 
			
		||||
	TAGKEYS(                        XK_9,                      8)
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* button definitions */
 | 
			
		||||
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
 | 
			
		||||
static const Button buttons[] = {
 | 
			
		||||
	/* click                event mask      button          function        argument */
 | 
			
		||||
	{ ClkLtSymbol,          0,              Button1,        setlayout,      {0} },
 | 
			
		||||
	{ ClkLtSymbol,          0,              Button3,        setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
	{ ClkWinTitle,          0,              Button2,        zoom,           {0} },
 | 
			
		||||
	{ ClkStatusText,        0,              Button2,        spawn,          {.v = termcmd } },
 | 
			
		||||
	{ ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} },
 | 
			
		||||
	{ ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} },
 | 
			
		||||
	{ ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} },
 | 
			
		||||
	{ ClkTagBar,            0,              Button1,        view,           {0} },
 | 
			
		||||
	{ ClkTagBar,            0,              Button3,        toggleview,     {0} },
 | 
			
		||||
	{ ClkTagBar,            MODKEY,         Button1,        tag,            {0} },
 | 
			
		||||
	{ ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										68
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								config.h
									
									
									
									
									
								
							@@ -62,40 +62,40 @@ static const char *slockcmd[] = { "slock", NULL };
 | 
			
		||||
 | 
			
		||||
static const Key keys[] = {
 | 
			
		||||
	/* modifier                     key        function        argument */
 | 
			
		||||
	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_l,      spawn,          {.v = slockcmd } },
 | 
			
		||||
	{ MODKEY,                       XK_b,      togglebar,      {0} },
 | 
			
		||||
	{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
 | 
			
		||||
	{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
 | 
			
		||||
	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
 | 
			
		||||
	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
 | 
			
		||||
	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
	{ MODKEY,                       XK_Tab,    view,           {0} },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
 | 
			
		||||
	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
	{ MODKEY,                       XK_space,  setlayout,      {0} },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
 | 
			
		||||
	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
 | 
			
		||||
	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
 | 
			
		||||
	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
 | 
			
		||||
	TAGKEYS(                        XK_1,                      0)
 | 
			
		||||
	TAGKEYS(                        XK_2,                      1)
 | 
			
		||||
	TAGKEYS(                        XK_3,                      2)
 | 
			
		||||
	TAGKEYS(                        XK_4,                      3)
 | 
			
		||||
	TAGKEYS(                        XK_5,                      4)
 | 
			
		||||
	TAGKEYS(                        XK_6,                      5)
 | 
			
		||||
	TAGKEYS(                        XK_7,                      6)
 | 
			
		||||
	TAGKEYS(                        XK_8,                      7)
 | 
			
		||||
	TAGKEYS(                        XK_9,                      8)
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
 | 
			
		||||
		{ MODKEY|ShiftMask,     10,      spawn,          {.v = slockcmd } },
 | 
			
		||||
		{ MODKEY,               33,    spawn,          {.v = dmenucmd } }, // p
 | 
			
		||||
		{ MODKEY|ShiftMask,     36,    spawn,          {.v = termcmd } }, // Return
 | 
			
		||||
		{ MODKEY,               56,    togglebar,      {0} },             // b
 | 
			
		||||
		{ MODKEY,               44,    focusstack,     {.i = +1 } },      // j
 | 
			
		||||
		{ MODKEY,               45,    focusstack,     {.i = -1 } },      // k
 | 
			
		||||
		{ MODKEY,               31,    incnmaster,     {.i = +1 } },      // i
 | 
			
		||||
		{ MODKEY,               40,    incnmaster,     {.i = -1 } },      // d
 | 
			
		||||
		{ MODKEY,               43,    setmfact,       {.f = -0.05} },    // h
 | 
			
		||||
		{ MODKEY,               46,    setmfact,       {.f = +0.05} },    // l
 | 
			
		||||
		{ MODKEY,               36,    zoom,           {0} },             // Return
 | 
			
		||||
		{ MODKEY,               23,    view,           {0} },             // Tab
 | 
			
		||||
		{ MODKEY|ShiftMask,     54,    killclient,     {0} },             // c
 | 
			
		||||
		{ MODKEY,               28,    setlayout,      {.v = &layouts[0]} }, // t
 | 
			
		||||
		{ MODKEY,               41,    setlayout,      {.v = &layouts[1]} }, // f
 | 
			
		||||
		{ MODKEY,               58,    setlayout,      {.v = &layouts[2]} }, // m
 | 
			
		||||
		{ MODKEY,               65,    setlayout,      {0} },             // space
 | 
			
		||||
		{ MODKEY|ShiftMask,     65,    togglefloating, {0} },             // space
 | 
			
		||||
		{ MODKEY,               19,    view,           {.ui = ~0 } },     // 0
 | 
			
		||||
		{ MODKEY|ShiftMask,     19,    tag,            {.ui = ~0 } },     // 0
 | 
			
		||||
		{ MODKEY,               59,    focusmon,       {.i = -1 } },      // comma
 | 
			
		||||
		{ MODKEY,               60,    focusmon,       {.i = +1 } },      // period
 | 
			
		||||
		{ MODKEY|ShiftMask,     59,    tagmon,         {.i = -1 } },      // comma
 | 
			
		||||
		{ MODKEY|ShiftMask,     60,    tagmon,         {.i = +1 } },      // period
 | 
			
		||||
		TAGKEYS(                10,                    0)                 // 1
 | 
			
		||||
		TAGKEYS(                11,                    1)                 // 2
 | 
			
		||||
		TAGKEYS(                12,                    2)                 // 3
 | 
			
		||||
		TAGKEYS(                13,                    3)                 // 4
 | 
			
		||||
		TAGKEYS(                14,                    4)                 // 5
 | 
			
		||||
		TAGKEYS(                15,                    5)                 // 6
 | 
			
		||||
		TAGKEYS(                16,                    6)                 // 7
 | 
			
		||||
		TAGKEYS(                17,                    7)                 // 8
 | 
			
		||||
		TAGKEYS(                18,                    8)                 // 9
 | 
			
		||||
		{ MODKEY|ShiftMask,     24,    quit,           {0} },             // q
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* button definitions */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										134
									
								
								dwm-keycodes-20170511-ceac8c9.diff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								dwm-keycodes-20170511-ceac8c9.diff
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,134 @@
 | 
			
		||||
diff --git a/config.def.h b/config.def.h
 | 
			
		||||
index a9ac303..0568db2 100644
 | 
			
		||||
--- a/config.def.h
 | 
			
		||||
+++ b/config.def.h
 | 
			
		||||
@@ -60,40 +60,40 @@ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont,
 | 
			
		||||
 static const char *termcmd[]  = { "st", NULL };
 | 
			
		||||
 
 | 
			
		||||
 static Key keys[] = {
 | 
			
		||||
-	/* modifier                     key        function        argument */
 | 
			
		||||
-	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
 | 
			
		||||
-	{ MODKEY,                       XK_b,      togglebar,      {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
 | 
			
		||||
-	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
 | 
			
		||||
-	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_Tab,    view,           {0} },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
-	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
-	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
-	{ MODKEY,                       XK_space,  setlayout,      {0} },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
 | 
			
		||||
-	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
 | 
			
		||||
-	TAGKEYS(                        XK_1,                      0)
 | 
			
		||||
-	TAGKEYS(                        XK_2,                      1)
 | 
			
		||||
-	TAGKEYS(                        XK_3,                      2)
 | 
			
		||||
-	TAGKEYS(                        XK_4,                      3)
 | 
			
		||||
-	TAGKEYS(                        XK_5,                      4)
 | 
			
		||||
-	TAGKEYS(                        XK_6,                      5)
 | 
			
		||||
-	TAGKEYS(                        XK_7,                      6)
 | 
			
		||||
-	TAGKEYS(                        XK_8,                      7)
 | 
			
		||||
-	TAGKEYS(                        XK_9,                      8)
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
 | 
			
		||||
+	/* modifier             key    function        argument */
 | 
			
		||||
+	{ MODKEY,               33,    spawn,          {.v = dmenucmd } }, // p
 | 
			
		||||
+	{ MODKEY|ShiftMask,     36,    spawn,          {.v = termcmd } }, // Return
 | 
			
		||||
+	{ MODKEY,               56,    togglebar,      {0} },             // b
 | 
			
		||||
+	{ MODKEY,               44,    focusstack,     {.i = +1 } },      // j
 | 
			
		||||
+	{ MODKEY,               45,    focusstack,     {.i = -1 } },      // k
 | 
			
		||||
+	{ MODKEY,               31,    incnmaster,     {.i = +1 } },      // i
 | 
			
		||||
+	{ MODKEY,               40,    incnmaster,     {.i = -1 } },      // d
 | 
			
		||||
+	{ MODKEY,               43,    setmfact,       {.f = -0.05} },    // h
 | 
			
		||||
+	{ MODKEY,               46,    setmfact,       {.f = +0.05} },    // l
 | 
			
		||||
+	{ MODKEY,               36,    zoom,           {0} },             // Return
 | 
			
		||||
+	{ MODKEY,               23,    view,           {0} },             // Tab
 | 
			
		||||
+	{ MODKEY|ShiftMask,     54,    killclient,     {0} },             // c
 | 
			
		||||
+	{ MODKEY,               28,    setlayout,      {.v = &layouts[0]} }, // t
 | 
			
		||||
+	{ MODKEY,               41,    setlayout,      {.v = &layouts[1]} }, // f
 | 
			
		||||
+	{ MODKEY,               58,    setlayout,      {.v = &layouts[2]} }, // m
 | 
			
		||||
+	{ MODKEY,               65,    setlayout,      {0} },             // space
 | 
			
		||||
+	{ MODKEY|ShiftMask,     65,    togglefloating, {0} },             // space
 | 
			
		||||
+	{ MODKEY,               19,    view,           {.ui = ~0 } },     // 0
 | 
			
		||||
+	{ MODKEY|ShiftMask,     19,    tag,            {.ui = ~0 } },     // 0
 | 
			
		||||
+	{ MODKEY,               59,    focusmon,       {.i = -1 } },      // comma
 | 
			
		||||
+	{ MODKEY,               60,    focusmon,       {.i = +1 } },      // period
 | 
			
		||||
+	{ MODKEY|ShiftMask,     59,    tagmon,         {.i = -1 } },      // comma
 | 
			
		||||
+	{ MODKEY|ShiftMask,     60,    tagmon,         {.i = +1 } },      // period
 | 
			
		||||
+	TAGKEYS(                10,                    0)                 // 1
 | 
			
		||||
+	TAGKEYS(                11,                    1)                 // 2
 | 
			
		||||
+	TAGKEYS(                12,                    2)                 // 3
 | 
			
		||||
+	TAGKEYS(                13,                    3)                 // 4
 | 
			
		||||
+	TAGKEYS(                14,                    4)                 // 5
 | 
			
		||||
+	TAGKEYS(                15,                    5)                 // 6
 | 
			
		||||
+	TAGKEYS(                16,                    6)                 // 7
 | 
			
		||||
+	TAGKEYS(                17,                    7)                 // 8
 | 
			
		||||
+	TAGKEYS(                18,                    8)                 // 9
 | 
			
		||||
+	{ MODKEY|ShiftMask,     24,    quit,           {0} },             // q
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 /* button definitions */
 | 
			
		||||
diff --git a/dwm.c b/dwm.c
 | 
			
		||||
index a5ce993..e0f043e 100644
 | 
			
		||||
--- a/dwm.c
 | 
			
		||||
+++ b/dwm.c
 | 
			
		||||
@@ -31,7 +31,6 @@
 | 
			
		||||
 #include <sys/types.h>
 | 
			
		||||
 #include <sys/wait.h>
 | 
			
		||||
 #include <X11/cursorfont.h>
 | 
			
		||||
-#include <X11/keysym.h>
 | 
			
		||||
 #include <X11/Xatom.h>
 | 
			
		||||
 #include <X11/Xlib.h>
 | 
			
		||||
 #include <X11/Xproto.h>
 | 
			
		||||
@@ -102,7 +101,7 @@ struct Client {
 | 
			
		||||
 
 | 
			
		||||
 typedef struct {
 | 
			
		||||
 	unsigned int mod;
 | 
			
		||||
-	KeySym keysym;
 | 
			
		||||
+	KeyCode keycode;
 | 
			
		||||
 	void (*func)(const Arg *);
 | 
			
		||||
 	const Arg arg;
 | 
			
		||||
 } Key;
 | 
			
		||||
@@ -954,14 +953,13 @@ grabkeys(void)
 | 
			
		||||
 	{
 | 
			
		||||
 		unsigned int i, j;
 | 
			
		||||
 		unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
 | 
			
		||||
-		KeyCode code;
 | 
			
		||||
 
 | 
			
		||||
 		XUngrabKey(dpy, AnyKey, AnyModifier, root);
 | 
			
		||||
 		for (i = 0; i < LENGTH(keys); i++)
 | 
			
		||||
-			if ((code = XKeysymToKeycode(dpy, keys[i].keysym)))
 | 
			
		||||
-				for (j = 0; j < LENGTH(modifiers); j++)
 | 
			
		||||
-					XGrabKey(dpy, code, keys[i].mod | modifiers[j], root,
 | 
			
		||||
-						True, GrabModeAsync, GrabModeAsync);
 | 
			
		||||
+			for (j = 0; j < LENGTH(modifiers); ++j)
 | 
			
		||||
+				XGrabKey(dpy, keys[i].keycode,
 | 
			
		||||
+				         keys[i].mod | modifiers[j], root, True,
 | 
			
		||||
+				         GrabModeAsync, GrabModeAsync);
 | 
			
		||||
 	}
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -988,13 +986,11 @@ void
 | 
			
		||||
 keypress(XEvent *e)
 | 
			
		||||
 {
 | 
			
		||||
 	unsigned int i;
 | 
			
		||||
-	KeySym keysym;
 | 
			
		||||
 	XKeyEvent *ev;
 | 
			
		||||
 
 | 
			
		||||
 	ev = &e->xkey;
 | 
			
		||||
-	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
 | 
			
		||||
 	for (i = 0; i < LENGTH(keys); i++)
 | 
			
		||||
-		if (keysym == keys[i].keysym
 | 
			
		||||
+		if (ev->keycode == keys[i].keycode
 | 
			
		||||
 		&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
 | 
			
		||||
 		&& keys[i].func)
 | 
			
		||||
 			keys[i].func(&(keys[i].arg));
 | 
			
		||||
							
								
								
									
										133
									
								
								dwm-keycodes-6.1.diff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								dwm-keycodes-6.1.diff
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,133 @@
 | 
			
		||||
diff --git a/config.def.h b/config.def.h
 | 
			
		||||
index 7054c06..f59d1eb 100644
 | 
			
		||||
--- a/config.def.h
 | 
			
		||||
+++ b/config.def.h
 | 
			
		||||
@@ -58,40 +58,40 @@ static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont,
 | 
			
		||||
 static const char *termcmd[]  = { "st", NULL };
 | 
			
		||||
 
 | 
			
		||||
 static Key keys[] = {
 | 
			
		||||
-	/* modifier                     key        function        argument */
 | 
			
		||||
-	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
 | 
			
		||||
-	{ MODKEY,                       XK_b,      togglebar,      {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
 | 
			
		||||
-	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
 | 
			
		||||
-	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_Tab,    view,           {0} },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
-	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
-	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
-	{ MODKEY,                       XK_space,  setlayout,      {0} },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
 | 
			
		||||
-	{ MODKEY,                       XK_0,      view,           {.ui = ~0 } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
 | 
			
		||||
-	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
 | 
			
		||||
-	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
 | 
			
		||||
-	TAGKEYS(                        XK_1,                      0)
 | 
			
		||||
-	TAGKEYS(                        XK_2,                      1)
 | 
			
		||||
-	TAGKEYS(                        XK_3,                      2)
 | 
			
		||||
-	TAGKEYS(                        XK_4,                      3)
 | 
			
		||||
-	TAGKEYS(                        XK_5,                      4)
 | 
			
		||||
-	TAGKEYS(                        XK_6,                      5)
 | 
			
		||||
-	TAGKEYS(                        XK_7,                      6)
 | 
			
		||||
-	TAGKEYS(                        XK_8,                      7)
 | 
			
		||||
-	TAGKEYS(                        XK_9,                      8)
 | 
			
		||||
-	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
 | 
			
		||||
+	/* modifier             key    function        argument */
 | 
			
		||||
+	{ MODKEY,               33,    spawn,          {.v = dmenucmd } }, // p
 | 
			
		||||
+	{ MODKEY|ShiftMask,     36,    spawn,          {.v = termcmd } }, // Return
 | 
			
		||||
+	{ MODKEY,               56,    togglebar,      {0} },             // b
 | 
			
		||||
+	{ MODKEY,               44,    focusstack,     {.i = +1 } },      // j
 | 
			
		||||
+	{ MODKEY,               45,    focusstack,     {.i = -1 } },      // k
 | 
			
		||||
+	{ MODKEY,               31,    incnmaster,     {.i = +1 } },      // i
 | 
			
		||||
+	{ MODKEY,               40,    incnmaster,     {.i = -1 } },      // d
 | 
			
		||||
+	{ MODKEY,               43,    setmfact,       {.f = -0.05} },    // h
 | 
			
		||||
+	{ MODKEY,               46,    setmfact,       {.f = +0.05} },    // l
 | 
			
		||||
+	{ MODKEY,               36,    zoom,           {0} },             // Return
 | 
			
		||||
+	{ MODKEY,               23,    view,           {0} },             // Tab
 | 
			
		||||
+	{ MODKEY|ShiftMask,     54,    killclient,     {0} },             // c
 | 
			
		||||
+	{ MODKEY,               28,    setlayout,      {.v = &layouts[0]} }, // t
 | 
			
		||||
+	{ MODKEY,               41,    setlayout,      {.v = &layouts[1]} }, // f
 | 
			
		||||
+	{ MODKEY,               58,    setlayout,      {.v = &layouts[2]} }, // m
 | 
			
		||||
+	{ MODKEY,               65,    setlayout,      {0} },             // space
 | 
			
		||||
+	{ MODKEY|ShiftMask,     65,    togglefloating, {0} },             // space
 | 
			
		||||
+	{ MODKEY,               19,    view,           {.ui = ~0 } },     // 0
 | 
			
		||||
+	{ MODKEY|ShiftMask,     19,    tag,            {.ui = ~0 } },     // 0
 | 
			
		||||
+	{ MODKEY,               59,    focusmon,       {.i = -1 } },      // comma
 | 
			
		||||
+	{ MODKEY,               60,    focusmon,       {.i = +1 } },      // period
 | 
			
		||||
+	{ MODKEY|ShiftMask,     59,    tagmon,         {.i = -1 } },      // comma
 | 
			
		||||
+	{ MODKEY|ShiftMask,     60,    tagmon,         {.i = +1 } },      // period
 | 
			
		||||
+	TAGKEYS(                10,                    0)                 // 1
 | 
			
		||||
+	TAGKEYS(                11,                    1)                 // 2
 | 
			
		||||
+	TAGKEYS(                12,                    2)                 // 3
 | 
			
		||||
+	TAGKEYS(                13,                    3)                 // 4
 | 
			
		||||
+	TAGKEYS(                14,                    4)                 // 5
 | 
			
		||||
+	TAGKEYS(                15,                    5)                 // 6
 | 
			
		||||
+	TAGKEYS(                16,                    6)                 // 7
 | 
			
		||||
+	TAGKEYS(                17,                    7)                 // 8
 | 
			
		||||
+	TAGKEYS(                18,                    8)                 // 9
 | 
			
		||||
+	{ MODKEY|ShiftMask,     24,    quit,           {0} },             // q
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 /* button definitions */
 | 
			
		||||
diff --git a/dwm.c b/dwm.c
 | 
			
		||||
index 0362114..60dd817 100644
 | 
			
		||||
--- a/dwm.c
 | 
			
		||||
+++ b/dwm.c
 | 
			
		||||
@@ -31,7 +31,6 @@
 | 
			
		||||
 #include <sys/types.h>
 | 
			
		||||
 #include <sys/wait.h>
 | 
			
		||||
 #include <X11/cursorfont.h>
 | 
			
		||||
-#include <X11/keysym.h>
 | 
			
		||||
 #include <X11/Xatom.h>
 | 
			
		||||
 #include <X11/Xlib.h>
 | 
			
		||||
 #include <X11/Xproto.h>
 | 
			
		||||
@@ -101,7 +100,7 @@ struct Client {
 | 
			
		||||
 
 | 
			
		||||
 typedef struct {
 | 
			
		||||
 	unsigned int mod;
 | 
			
		||||
-	KeySym keysym;
 | 
			
		||||
+	KeyCode keycode;
 | 
			
		||||
 	void (*func)(const Arg *);
 | 
			
		||||
 	const Arg arg;
 | 
			
		||||
 } Key;
 | 
			
		||||
@@ -967,14 +966,12 @@ grabkeys(void)
 | 
			
		||||
 	{
 | 
			
		||||
 		unsigned int i, j;
 | 
			
		||||
 		unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
 | 
			
		||||
-		KeyCode code;
 | 
			
		||||
 
 | 
			
		||||
 		XUngrabKey(dpy, AnyKey, AnyModifier, root);
 | 
			
		||||
 		for (i = 0; i < LENGTH(keys); i++)
 | 
			
		||||
-			if ((code = XKeysymToKeycode(dpy, keys[i].keysym)))
 | 
			
		||||
-				for (j = 0; j < LENGTH(modifiers); j++)
 | 
			
		||||
-					XGrabKey(dpy, code, keys[i].mod | modifiers[j], root,
 | 
			
		||||
-						 True, GrabModeAsync, GrabModeAsync);
 | 
			
		||||
+			for (j = 0; j < LENGTH(modifiers); j++)
 | 
			
		||||
+				XGrabKey(dpy, keys[i].keycode, keys[i].mod | modifiers[j], root,
 | 
			
		||||
+					 True, GrabModeAsync, GrabModeAsync);
 | 
			
		||||
 	}
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -1001,13 +998,11 @@ void
 | 
			
		||||
 keypress(XEvent *e)
 | 
			
		||||
 {
 | 
			
		||||
 	unsigned int i;
 | 
			
		||||
-	KeySym keysym;
 | 
			
		||||
 	XKeyEvent *ev;
 | 
			
		||||
 
 | 
			
		||||
 	ev = &e->xkey;
 | 
			
		||||
-	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
 | 
			
		||||
 	for (i = 0; i < LENGTH(keys); i++)
 | 
			
		||||
-		if (keysym == keys[i].keysym
 | 
			
		||||
+		if (ev->keycode == keys[i].keycode
 | 
			
		||||
 		&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
 | 
			
		||||
 		&& keys[i].func)
 | 
			
		||||
 			keys[i].func(&(keys[i].arg));
 | 
			
		||||
							
								
								
									
										16
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								dwm.c
									
									
									
									
									
								
							@@ -31,7 +31,6 @@
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/wait.h>
 | 
			
		||||
#include <X11/cursorfont.h>
 | 
			
		||||
#include <X11/keysym.h>
 | 
			
		||||
#include <X11/Xatom.h>
 | 
			
		||||
#include <X11/Xlib.h>
 | 
			
		||||
#include <X11/Xproto.h>
 | 
			
		||||
@@ -101,7 +100,7 @@ struct Client {
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
	unsigned int mod;
 | 
			
		||||
	KeySym keysym;
 | 
			
		||||
	KeySym keycode;
 | 
			
		||||
	void (*func)(const Arg *);
 | 
			
		||||
	const Arg arg;
 | 
			
		||||
} Key;
 | 
			
		||||
@@ -957,14 +956,13 @@ grabkeys(void)
 | 
			
		||||
	{
 | 
			
		||||
		unsigned int i, j;
 | 
			
		||||
		unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
 | 
			
		||||
		KeyCode code;
 | 
			
		||||
 | 
			
		||||
		XUngrabKey(dpy, AnyKey, AnyModifier, root);
 | 
			
		||||
		for (i = 0; i < LENGTH(keys); i++)
 | 
			
		||||
			if ((code = XKeysymToKeycode(dpy, keys[i].keysym)))
 | 
			
		||||
				for (j = 0; j < LENGTH(modifiers); j++)
 | 
			
		||||
					XGrabKey(dpy, code, keys[i].mod | modifiers[j], root,
 | 
			
		||||
						True, GrabModeAsync, GrabModeAsync);
 | 
			
		||||
			for (j = 0; j < LENGTH(modifiers); ++j)
 | 
			
		||||
				XGrabKey(dpy, keys[i].keycode,
 | 
			
		||||
				         keys[i].mod | modifiers[j], root, True,
 | 
			
		||||
				         GrabModeAsync, GrabModeAsync);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -991,13 +989,11 @@ void
 | 
			
		||||
keypress(XEvent *e)
 | 
			
		||||
{
 | 
			
		||||
	unsigned int i;
 | 
			
		||||
	KeySym keysym;
 | 
			
		||||
	XKeyEvent *ev;
 | 
			
		||||
 | 
			
		||||
	ev = &e->xkey;
 | 
			
		||||
	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
 | 
			
		||||
	for (i = 0; i < LENGTH(keys); i++)
 | 
			
		||||
		if (keysym == keys[i].keysym
 | 
			
		||||
		if (ev->keycode == keys[i].keycode
 | 
			
		||||
		&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
 | 
			
		||||
		&& keys[i].func)
 | 
			
		||||
			keys[i].func(&(keys[i].arg));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user