diff --git a/src/screen.c b/src/screen.c index 196492029d734aa3747a3ba80528c88e68df947f..d3533d00f0b4a6d139c991f334bd42ec26ef454a 100644 --- a/src/screen.c +++ b/src/screen.c @@ -414,7 +414,17 @@ myScreenGrabKeys (ScreenInfo *screen_info) dpy = myScreenGetXDisplay (screen_info); - for (i = 0; i < KEY_COUNT; i++) + /* + Ugly hack: KEY_CANCEL is used just for cancelling window ops + it should not be grabbed all the time (especially when you + realize that it's mapped to Esc by default, damn, I can't + switch back to command mode in vi anymore, I'm stuck in + edition mode ;) + + That's why we start at FIRST_KEY which is defined after + KEY_CANCEL... + */ + for (i = FIRST_KEY; i < KEY_COUNT; i++) { grabKey (dpy, &screen_info->params->keys[i], screen_info->xroot); } diff --git a/src/settings.h b/src/settings.h index 977a5e3e26cbc9e01999dbaa42d56b7be7cfb463..0c4c631e401671616b66e05dd65cff28d8904b69 100644 --- a/src/settings.h +++ b/src/settings.h @@ -40,10 +40,11 @@ enum TITLE_SHADOW_FRAME }; +#define FIRST_KEY KEY_ADD_WORKSPACE enum { + KEY_CANCEL = 0, KEY_ADD_WORKSPACE, - KEY_CANCEL, KEY_CLOSE_WINDOW, KEY_CYCLE_WINDOWS, KEY_DEL_WORKSPACE,