latest
This commit is contained in:
		
							
								
								
									
										134
									
								
								patches/dwm-keycodes-20170511-ceac8c9.diff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								patches/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
									
								
								patches/dwm-keycodes-6.1.diff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								patches/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));
 | 
			
		||||
		Reference in New Issue
	
	Block a user