diff --git a/src/cycle.c b/src/cycle.c index 9098d35..71ac284 100644 --- a/src/cycle.c +++ b/src/cycle.c @@ -228,7 +228,7 @@ clientCycleEventFilter (XEvent * xevent, gpointer data) ClientCycleData *passdata; Client *c, *removed; eventFilterStatus status; - KeyCode cancel; + KeyCode cancel, left, right; int key, modifiers; gboolean key_pressed, cycling, gone; @@ -244,6 +244,8 @@ clientCycleEventFilter (XEvent * xevent, gpointer data) screen_info = c->screen_info; display_info = screen_info->display_info; cancel = screen_info->params->keys[KEY_CANCEL].keycode; + left = screen_info->params->keys[KEY_LEFT].keycode; + right = screen_info->params->keys[KEY_RIGHT].keycode; modifiers = (screen_info->params->keys[KEY_CYCLE_WINDOWS].modifier | screen_info->params->keys[KEY_CYCLE_REVERSE_WINDOWS].modifier); status = EVENT_FILTER_STOP; @@ -286,12 +288,12 @@ clientCycleEventFilter (XEvent * xevent, gpointer data) c2 = tabwinSelectHead (passdata->tabwin); cycling = FALSE; } - else if (key == KEY_CYCLE_REVERSE_WINDOWS) + else if (key == KEY_CYCLE_REVERSE_WINDOWS || xevent->xkey.keycode == left) { TRACE ("Cycle: previous"); c2 = tabwinSelectPrev(passdata->tabwin); } - else if (key == KEY_CYCLE_WINDOWS) + else if (key == KEY_CYCLE_WINDOWS || xevent->xkey.keycode == right) { TRACE ("Cycle: next"); c2 = tabwinSelectNext(passdata->tabwin);