summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--grab.c2
-rw-r--r--input.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/grab.c b/grab.c
index 3148272..4b5ac23 100644
--- a/grab.c
+++ b/grab.c
@@ -378,7 +378,7 @@ grab_label(struct client_ctx *cc)
 		switch (e.type) {
 		case KeyPress:
 			if (input_keycodetrans(e.xkey.keycode, e.xkey.state,
-				&ctl, &chr, 1) < 0)
+				&ctl, &chr, 0) < 0)
 				continue;
 
 			switch (ctl) {
diff --git a/input.c b/input.c
index 95f30f8..821ed24 100644
--- a/input.c
+++ b/input.c
@@ -19,7 +19,10 @@ input_keycodetrans(KeyCode kc, u_int state,
 	*ctl = CTL_NONE;
 	*chr = '\0';
 
-	ks = XKeycodeToKeysym(G_dpy, kc, 0);
+	if (state & ShiftMask)
+		ks = XKeycodeToKeysym(G_dpy, kc, 1);
+	else
+		ks = XKeycodeToKeysym(G_dpy, kc, 0);
 
 	/* Look for control characters. */
 	switch (ks) {