Browse Source

Adding a way to ignore bits in the state.

master
Christoph Lohmann 11 years ago
parent
commit
f4a6c20f46
2 changed files with 9 additions and 0 deletions
  1. +6
    -0
      config.def.h
  2. +3
    -0
      st.c

+ 6
- 0
config.def.h View File

@ -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 */


+ 3
- 0
st.c View File

@ -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 */
@ -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)


Loading…
Cancel
Save