X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxoptions.c;h=07295fd31b2c34dce47ec6dcbe2ca7c13df46178;hb=c69adb9607f2d94e0a78261e4c3a05662e4243dd;hp=c49d1399d9db7dc451a74c0cf53cc3228472ac86;hpb=5610a08ef759d2b056c771be884ceb9c0ed5583a;p=xboard.git diff --git a/gtk/xoptions.c b/gtk/xoptions.c index c49d139..07295fd 100644 --- a/gtk/xoptions.c +++ b/gtk/xoptions.c @@ -445,19 +445,29 @@ CreateMenuPopup (Option *opt, int n, int def) gtk_accelerator_parse(mb[i].accel, &accelerator_key, &accelerator_mods); #ifdef OSXAPP if(accelerator_mods & GDK_CONTROL_MASK && - accelerator_key != 'v' && // don't use Cmd+V + accelerator_key != 'v' && // don't use Cmd+V as this is a OS text edit command accelerator_key != 'c' && // and Cmd+C accelerator_key != 'x' && // and CMD+X - accelerator_key != 'a' && // and CMD+A - accelerator_key != 'w' && // and evreything else in mode menu for umiformity's sake - accelerator_key != 'b' && - accelerator_key != 't' && - accelerator_key != 'g' && - accelerator_key != 'e' + accelerator_key != 'a' // and CMD+A ) { // in OSX use Meta (Cmd) where Linux uses Ctrl accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag accelerator_mods |= GDK_META_MASK; // set Meta flag - } + } else if (accelerator_mods & GDK_CONTROL_MASK && + accelerator_key == 'v' || + accelerator_key == 'c' || + accelerator_key == 'x' || + accelerator_key == 'a' + ) { // For these conflicting commands, lets make them alt-cmd + accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag + accelerator_mods |= GDK_META_MASK; + accelerator_mods |= GDK_MOD1_MASK; + } + if (accelerator_mods & GDK_SHIFT_MASK && + GDK_META_MASK && + GDK_MOD1_MASK + ) { // If there is a shift, we can get rid of alt as it is awfully cumbersome to press + accelerator_mods &= ~GDK_MOD1_MASK; // clear ALT flag + } #endif gtk_widget_add_accelerator (GTK_WIDGET(entry), "activate",GtkAccelerators, accelerator_key, accelerator_mods, GTK_ACCEL_VISIBLE);