xboard-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XBoard-devel] Keyboard shortcuts


From: h.g. muller
Subject: Re: [XBoard-devel] Keyboard shortcuts
Date: Sun, 05 Sep 2010 15:06:13 +0200

XBoard and WinBoard have always had different key bindings upto now.
But when they wil be unified in the cross-platform GTK branch, we figured they should also have the same key bindings.
We decided to use the WinBoard bindings, for several reasons:
1) They were more complete, and more logical, as we had just given them a go-over for the JAWS version
2) Normal letters (as opposed to Ctrl and Alt keystrokes) are not acceptable, because they could be typed move input

So one of the patches I made in the master branch replace all the key bindings of XBoard by the corresponding WinBoard keystroke.
I guess I might not have made the correspondng change in the docs yet.

The arrows should still work, I think (and otherwise Alt+Left or Alt+Right).
Things from the Action menu (Accept, Decline, Rematch) now all have bindings to the function-keys.
Most primary menu items have Ctrl+letter (Ctrl-W = Machine White, etc.), sometimes with standard binding (e.g. Ctrl-O = Load Game).
Commands for a position have the same keystroke as the corresponding command for game, with Shift added.
Otherwise Ctrl+Shift+Letter directly toggle options from the General Options dialog (which is still a main menu in XBoard), e.g. Ctrl+Shft+Q = Always Queen,
and Alt+Shift+letter opens a menu dialog or auxiliary window (e.g. Alt+Shift+E = Show Evaluation Graph).
Alt+Letter is reserved for the commands from the JAWS menu.

char globalTranslations[] =
  ":<Key>F9: ResignProc() \n \
   :Ctrl<Key>n: ResetProc() \n \
   :Meta<Key>V: NewVariantProc() \n \
   :Ctrl<Key>o: LoadGameProc() \n \
   :Meta<Key>Next: LoadNextGameProc() \n \
   :Meta<Key>Prior: LoadPrevGameProc() \n \
   :Ctrl<Key>s: SaveGameProc() \n \
   :Ctrl<Key>c: CopyGameProc() \n \
   :Ctrl<Key>v: PasteGameProc() \n \
   :Ctrl<Key>O: LoadPositionProc() \n \
   :Shift Meta<Key>Next: LoadNextPositionProc() \n \
   :Shift Meta<Key>Prior: LoadPrevPositionProc() \n \
   :Ctrl<Key>S: SavePositionProc() \n \
   :Ctrl<Key>C: CopyPositionProc() \n \
   :Ctrl<Key>V: PastePositionProc() \n \
   :Ctrl<Key>q: QuitProc() \n \
   :Ctrl<Key>w: MachineWhiteProc() \n \
   :Ctrl<Key>b: MachineBlackProc() \n \
   :Ctrl<Key>t: TwoMachinesProc() \n \
   :Ctrl<Key>a: AnalysisModeProc() \n \
   :Ctrl<Key>f: AnalyzeFileProc() \n \
   :Ctrl<Key>e: EditGameProc() \n \
   :Ctrl<Key>E: EditPositionProc() \n \
   :Meta<Key>O: EngineOutputProc() \n \
   :Meta<Key>E: EvalGraphProc() \n \
   :Meta<Key>G: ShowGameListProc() \n \
   :Meta<Key>H: ShowMoveListProc() \n \
   :<Key>Pause: PauseProc() \n \
   :<Key>F3: AcceptProc() \n \
   :<Key>F4: DeclineProc() \n \
   :<Key>F12: RematchProc() \n \
   :<Key>F5: CallFlagProc() \n \
   :<Key>F6: DrawProc() \n \
   :<Key>F7: AdjournProc() \n \
   :<Key>F8: AbortProc() \n \
   :<Key>F10: StopObservingProc() \n \
   :<Key>F11: StopExaminingProc() \n \
   :Meta Ctrl<Key>F12: DebugProc() \n \
   :Meta<Key>End: ToEndProc() \n \
   :Meta<Key>Right: ForwardProc() \n \
   :Meta<Key>Home: ToStartProc() \n \
   :Meta<Key>Left: BackwardProc() \n \
   :Ctrl<Key>m: MoveNowProc() \n \
   :Ctrl<Key>x: RetractMoveProc() \n \
   :Meta<Key>J: EngineMenuProc() \n \
   :Meta<Key>U: UciMenuProc() \n \
   :Meta<Key>T: TimeControlProc() \n \
   :Ctrl<Key>Q: AlwaysQueenProc() \n \
   :Ctrl<Key>F: AutoflagProc() \n \
   :Ctrl<Key>A: AnimateMovingProc() \n \
   :Ctrl<Key>P: PonderNextMoveProc() \n \
   :Ctrl<Key>L: TestLegalityProc() \n \
   :Ctrl<Key>H: HideThinkingProc() \n \
   :<Key>-: Iconify() \n \
   :<Key>F1: ManProc() \n \
   :<Key>F2: FlipViewProc() \n \
   <KeyDown>.: BackwardProc() \n \
   <KeyUp>.: ForwardProc() \n \
   Shift<Key>1: AskQuestionProc(\"Direct command\",\
                                \"Send to chess program:\",,1) \n \
   Shift<Key>2: AskQuestionProc(\"Direct command\",\
                                \"Send to second chess program:\",,2) \n";

reply via email to

[Prev in Thread] Current Thread [Next in Thread]