Thanks, h.g. muller :) As usual, your answer is exactly what I needed. For some reason, it never occurred to me to try Meta instead of Ctrl as the modifier. Works great!
Cheers, Adrian On Sun, Sep 5, 2010 at 6:06 AM, h.g. muller <[email protected]> wrote: > 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"; >
