1

I don't like the mouse and want to use the keyboard as much as possible. SCID vs PC has a webpage with keyboard shortcuts, but the same does not seem to exist for SCID. This answer to "How to flip the board" discloses the . shortcut, which I found documented in Help > Contents > The Scid main window, however only a few of them are to be found in that section. Some are spread out in the Help, others might be missing. Where can I find a list of all SCID shortcuts?

2

After greping the source code, I found them in /usr/share/scid/tcl/keyboard.tcl in GNU/Linux (if someone knows the path for other OS please share it).

Also, a comment in that file says

> By editing this file you can customize the keyboard shortcuts,
in order to best suit your preferences.
It is not necessary to recompile scid after changing this file.

For convenience, I have extracted all the bindings and their corresponding actions below (this is not proper TCL syntax, it is just for reading convenience).

<Left>                Back
<Right>               Forward
<Up>                  Back 10 moves
<Down>                Forward 10 moves
<Home>                Exit Variation/Go to game start
<End>                 Go to game end
<Alt-F4>              Exit
<Control-o>           Open a database
<Control-w>           Close the current database
<Control-z>           undo
<Control-y>           redo
<Control-n>           new game
<Control-s>           save game
<Control-S>           save as new game
<F11>                 toggle fullscreen
<period>              flip/rotate board
<s>                   ::setupBoard
<KeyPress-v>          show variations dialog
<Control-Key-$i>      Change current database
<F6>                  ::book::open
<F12>                 ::CorrespondenceChess::CCWindow
<Control-F12>         ::CorrespondenceChess::OpenCorrespondenceDB; ::CorrespondenceChess::ReadInboxg
<Alt-F12>             ::CorrespondenceChess::OpenCorrespondenceDB; ::CorrespondenceChess::FetchGamesg
<Control-equal>       ::tb::Open
<Control-d>           ::windows::switcher::Open
<Control-e>           makeCommentWin
<Control-i>           ::windows::stats::Open
<Control-l>           ::windows::gamelist::Open
<Control-m>           ::maint::OpenClose
<Control-p>           ::pgn::OpenClose
<Control-t>           ::tree::make
<Control-E>           ::windows::eco::OpenClose
<Control-K>           ::ptrack::make
<Control-O>           ::optable::makeReportWin
<Control-P>           ::plist::toggle
<Control-T>           ::tourney::toggle
<Control-X>           crosstabWin
<F2>                  "::makeAnalysisWin 1 0"
<F3>                  "::makeAnalysisWin 2 0"
<F4>                  .analysisWin1.b1.bStartStop invoke g
<F5>                  .analysisWin2.b1.bStartStop invoke g
<Control-A>           makeAnalysisWin
<Control-Shift-2>     "makeAnalysisWin 2"
<Control-a>           sc_var create; updateBoard -pgng
<Control-B>           ::search::board
<Control-H>           ::search::header
<Control-M>           ::search::material
<Control-KeyPress-U>  ::search:::usefile
<Control-C>           ::copyFEN
<Control-V>           ::pasteFEN
<Control-E>           ::tools::email
<Control-I>           importPgnGame
<Control-D>           sc_move ply [sc_eco game ply]; updateBoardg
<Control-G>           tools::graphs::filter::Open
<Control-J>           tools::graphs::absfilter::Open
<Control-u>           ::game::GotoMoveNumber
<Control-Y>           findNovelty
<F1>                  helpWindow Contentsg
<Control-N>           nameEditor
<Control-slash>       ::file::finder::Open
<Control-Shift-Up>    ::game::LoadNextPrev firstg
<Control-Shift-Down>  ::game::LoadNextPrev lastg
<Control-Up>          ::game::LoadNextPrev previousg
<Control-Down>        ::game::LoadNextPrev nextg
<Control-question>    ::game::LoadRandom
<minus><minus>        addMove null null

<exclam><Return>             "sc_pos addNag !; updateBoard -pgn"
<exclam><exclam><Return>     "sc_pos addNag !!; updateBoard -pgn"
<exclam><question><Return>   "sc_pos addNag !?; updateBoard -pgn"
<question><Return>           "sc_pos addNag ?; updateBoard -pgn"
<question><question><Return> "sc_pos addNag ??; updateBoard -pgn"
<question><exclam><Return>   "sc_pos addNag ?!; updateBoard -pgn"
<plus><minus>                "sc_pos addNag +-; updateBoard -pgn"
<plus><slash>                "sc_pos addNag +/-; updateBoard -pgn"
<plus><equal>                "sc_pos addNag +=; updateBoard -pgn"
<equal><Return>              "sc_pos addNag =; updateBoard -pgn"
<minus><plus>                "sc_pos addNag -+; updateBoard -pgn"
<minus><slash>               "sc_pos addNag -/+; updateBoard -pgn"
<equal><plus>                "sc_pos addNag =+; updateBoard -pgn"
<asciitilde><Return>         "sc_pos addNag ~; updateBoard -pgn"
<asciitilde><equal><Return>  "sc_pos addNag ~=; updateBoard -pgn"
| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.