summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-10-17 11:40:39 +0200
committerGravatar waker <wakeroid@gmail.com>2010-10-17 11:40:39 +0200
commit5fca2669511fa055ca59b5e5e01a9f2c63427d5c (patch)
tree6f50bd0705102605cb2489e2dfb8e88ae84c985d /plugins
parentb47470c518aa1b388d9347f3d76c45f480faa936 (diff)
fixed switching between playlists using keyboard when num/caps/xkb modifiers are on
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkui/callbacks.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 0280c773..58a3da41 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -311,12 +311,12 @@ on_mainwin_key_press_event (GtkWidget *widget,
GdkEventKey *event,
gpointer user_data)
{
-
+ uint32_t maskedstate = (event->state &~ (GDK_LOCK_MASK | GDK_MOD2_MASK | GDK_MOD3_MASK | GDK_MOD5_MASK)) & 0xfff;
if (event->keyval == GDK_n && !event->state) {
// button for that one is not in toolbar anymore, so handle it manually
deadbeef->sendmessage (M_PLAYRANDOM, 0, 0, 0);
}
- else if ((event->state == GDK_MOD1_MASK || event->state == 0) && event->keyval >= GDK_1 && event->keyval <= GDK_9) {
+ else if ((maskedstate == GDK_MOD1_MASK || maskedstate == 0) && event->keyval >= GDK_1 && event->keyval <= GDK_9) {
int pl = event->keyval - GDK_1;
if (pl >= 0 && pl < deadbeef->plt_get_count ()) {
deadbeef->plt_set_curr (pl);