YSokoban has many hotkeys to do some frequently used actions. Here is a list of all existing hotkeys:
| Key | Action | Category | Command |
|---|---|---|---|
| Ctrl-TAB | open drop-down Collection combobox | - | |
| Shift-TAB | open drop-down Player combobox | - | |
| ESC | Restart level (all your current moves will go to redo buffer, so they can be played again with redo) | game play | loadLevel 0 |
| Shift-ESC | Restart level plus resize YSokoban to fit level | game play | |
| arrows | move player (left, right, up, down) | game play | |
| backspace | undo | game play | undo 1 |
| Shift-backspace | undo step | game play | undo 0 |
| space | redo or stop playing solution (F2) | game play | redo 1 |
| Ctrl-space | continue redo (non-stop) | game play | redo 2 |
| Shift-space | make one step | game play | redo 0 |
| F9 | toggle show reachable | game play | showReachable |
| Ctrl-F9 | toggle show movable boxes | game play | showMovable |
| Alt-F9 | (1.624+) toggles showing not moved boxes (boxes which were not touched from start of solving level to that moment). Sometimes used by level creators. | game play | showNotMoved |
| F2 | replay solution | Replay | |
| Ctrl-F2 | replay solution (stopping on box change) | Replay | |
| Shift-F2 | replay solution (step-by-step) | Replay | |
| End | (1.624+) pressed during solution replay (or pasted solution) jumps instantly to final result (skipping all moves). If pressed when level is finished then show not touched boxes (see Alt-F9 for more) |
Replay | |
| Home | (1.624+) (works only in finished state, i.e. during final animation - all boxes and man are happily ... jumping) reloads level and puts mark only on non moved boxes (see Alt-F9 about non moved boxes). | Replay | |
| F11 | toggle full screen mode. | - | |
| Ctrl-F11 | toggle status/menu bar. | - | |
| Ctrl-S | save current state | - | saveState |
| Ctrl-DCtrl-O | load (restore) current state | - | loadState |
| Ctrl-Home | Jump to the first level in the collection | navigation | firstLevel |
| Ctrl-End | Jump to the last level in the collection | navigation | lastLevel |
| Ctrl-0..9 | Bookmark current level | navigation | setBookmark 0..9 |
| 0..9 | Jump to corresponding bookmarked level | navigation | gotoBookmark 0..9 |
| Ctrl-LeftArrow | Jump to previous level in the collection | navigation | loadLevel -1 |
| Ctrl-RightArrow | Jump to next level in the collection | navigation | loadLevel +1 |
| Shift-Ctrl-Left/DownArrow | Jump to previous unsolved level | navigation | loadUnsolvedLevel -1 |
| Shift-Ctrl-Right/UpArrow | Jump to next unsolved level | navigation | loadUnsolvedLevel +1 |
| Ctrl-Alt-arrows | Jump to prev/next level in the collection even if invalid (non existing) | navigation | |
| Alt-arrows | Same as Ctrl-Alt, i.e.: jump to prev/next level in the collection even if invalid (non existing) | navigation | |
| Alt-Shift-arrows | Jump to prev/next invalid level in the collection (non existing levels + boxes != targets) | navigation | loadErrorLevel n |
| Alt-F3 | select folder for writing BMP/PNG files | screen shots | |
| Ctrl-F3 | if not recording - start recording with frame 0; if recording - stop (only in recording mode) | screen shots | record 8 |
| Shift-F3 | if not recording - continue recording (with next frame number); if recording - stop (only in recording mode) | screen shots | record 9 |
| Shift-X | make screen shot of current level | screen shots | screenShot 0 |
| Ctrl-Shift-X | make screen shot of all levels | screen shots | screenShot -1 |
| Ctrl-Alt-Shift-F3 | switch between recording non recording mode | screen shots | record 0 |
| Ctrl-Shift-F3 | switch between BMP/PNG mode | screen shots | record 2 |
| Ctrl-Alt-F3 | switch between full screen shot and level screen shot mode | screen shots | record 5 |
| Ctrl-F1 Shift-F1 or F12 | start default browser with correct URL so that it will show level from solution database site | - | |
| Ctrl-F12 | put in clipboard URL for the solution database | - | |
| Ctrl-C Ctrl-Ins |
copy moves made for this level to clipboard | - | copyMoves |
| Ctrl-Alt-C Ctrl-Alt-Ins |
copy to clipboard the rest of the solution | - | copyMoves |
| Ctrl-L | copy current level and solutions to the clipboard. | - | copyLevel |
| Alt-L | copy current level to the clipboard (no solutions, no changes, copy original level). | - | copyLevel |
| Alt-Shift-L | same as Alt-L but spaces are replaced with - or _ (minus or underscore) | - | copyLevel |
| Ctrl-Alt-L | same as Ctrl-L but spaces are replaced with - or _ (minus or underscore) | - | copyLevel |
| Ctrl-Shift-L | same as Ctrl-L but RLE packed | - | copyLevel |
| Ctrl-Alt-Shift-L | same as Ctrl-L but MF8 format | - | copyLevel |
| Ctrl-M | same as above but has XSB + MF8 format | - | copyLevel |
| Ctrl-R | toggles showing the numeric/alphabet ruler (chess like notation). | - | ruler |
| Alt-R | toggles showing the numeric/numeric ruler. | - | ruler |
| Ctrl-V (Shift-Ins) |
paste moves from clipboard | - | paste |
| Ctrl-I | paste moves from clipboard and make them instantly (no visualization) | - | paste |
| Ctrl-Shift-V Ctrl-Shift-Ins |
paste moves, but stops on every box change (you can continue with space). | - | paste |
| Shift-LeftArrow | Rotate level 90 degrees left (aka rotate 270 degrees) | orientation | |
| Shift-RightArrow | Rotate level 90 degrees right | orientation | |
| Shift-DownArrow | Horizontal mirror | orientation | |
| Shift-UpArrow | Horizontal mirror by default (or Vertical mirror if configured) | orientation | |
| Shift-H | Horizontally mirrored | orientation | |
| Shift-L | Rotated 270 degrees or left rotated 90 degrees | orientation | |
| Shift-O | Original orientation | orientation | |
| Shift-R | Rotated 90 degrees | orientation | |
| Shift-U | Rotated 180 degrees | orientation | |
| Shift-V | Vertically mirrored | orientation | |
| Shift-\ | Horizontally mirrored and then Rotated 90 Degrees | orientation | |
| Shift-/ | Horizontally mirrored and then Rotated 270 Degrees | orientation | |
| M | Play newly edited macro (edited in bottom part of Macro Dialog) | Macros | |
| Shift-M | play selected macro (shown in upper part of Macro Dialog) | Macros | |
| F3..F8 | switch skin | Skins | |
| Ctrl-F3..F8 | switch skin (with opposite setting for the grid) | Skins | |
| Ctrl-N | toggle net (grid) on skin (like Ctrl-F3..F8, but for current skin). | Skins | toggleNet |
| * | toggles auto-resizing on/off. | Skins | |
| = | switch autoresizing off and set skin to it's default size. | Skins | zoom 0 |
| # or ` | toggles autoresizing algorithm (there are two possible algorithms it depends on skin which one is better). | Skins | |
| - or [ | stop autoresizing and use skin with one pixel less size than current | Skins | zoom -1 |
| + or ] | stop autoresizing and use skin with one pixel greater size than current | Skins | zoom +1 |
| S and A | Iterate over skins in skins folder (sub-folder where YSokoban.exe is). A/S will iterate backward/forward on skins there. | Skins | |
| Alt-D | (1.624+) Sometimes you have text with every other line empty. Alt-D will remove double lines from clipboard (then you can paste wherever you want), do not press alt-D twice, or you will remove more double lines than needed. | Tool | removeDoubleLine |
| Ctrl-P | Next copy to clipboard will use push-format notation instead of LURD format (just once) | see copyMoves 1 | |
| Ctrl-Shift-P | Same as Ctrl-P, but will stay active till deactivated (Ctrl-P or Ctrl-Shift-P) | ||
| Alt-P | Same as Ctrl-P, but additionally inside push-format go-thru boxes will be marked. | see copyMoves 2 | |
| Alt-Shift-P | Same as Alt-P, but will stay active till deactivated | ||
| Ctrl-Alt-P | Next copy to clipboard will use push-format not relying on go-thru boxes (for go-thru boxes will have two pushes marked) | see copyMoves 3 | |
| Ctrl-Alt-Shift-P | Same as Ctrl-Alt-P, but will stay active till deactivated | ||
| F1 | Activates default browser with local help (if available). It should be in YSokobanDocs subfolder of a folder where YSokoban.exe is located | Tool |