[hackers] [st] Adding a way to ignore bits in the state. || Christoph Lohmann
commit f4a6c20f464df79a9b15b4a2a11daaa7a06c60a0
Author: Christoph Lohmann <20h_AT_r-36.net>
Date: Sat Feb 16 13:57:12 2013 +0100
Adding a way to ignore bits in the state.
diff --git a/config.def.h b/config.def.h
index 93fc26d..07a22ed 100644
--- a/config.def.h
+++ b/config.def.h
_AT_@ -104,6 +104,12 @@ static Shortcut shortcuts[] = {
*/
static KeySym mappedkeys[] = { -1 };
+/*
+ * Which bits of the state should be ignored. By default the state bit for the
+ * keyboard layout (XK_SWITCH_MOD) is ignored.
+ */
+uint ignoremod = XK_SWITCH_MOD;
+
/* key, mask, output, keypad, cursor, crlf */
static Key key[] = {
/* keysym mask string keypad cursor crlf */
diff --git a/st.c b/st.c
index 0ae2c90..64366af 100644
--- a/st.c
+++ b/st.c
_AT_@ -61,6 +61,7 @@
#define DRAW_BUF_SIZ 20*1024
#define XK_ANY_MOD UINT_MAX
#define XK_NO_MOD 0
+#define XK_SWITCH_MOD (1<<13)
#define REDRAW_TIMEOUT (80*1000) /* 80 ms */
_AT_@ -3008,6 +3009,8 @@ focus(XEvent *ev) {
inline bool
match(uint mask, uint state) {
+ state &= ~(ignoremod);
+
if(mask == XK_NO_MOD && state)
return false;
if(mask != XK_ANY_MOD && mask != XK_NO_MOD && !state)
Received on Sat Feb 16 2013 - 13:59:23 CET
This archive was generated by hypermail 2.3.0
: Thu Feb 21 2013 - 19:27:04 CET