# Hot-keys and drag and drop actions

## Drag and drop actions:

1. One can drag and drop a box from one cell to the other. If there is path then man will push that box to it's new location.
2. Drag and drop file with collection (or single level) to the YSokoban window (drag it from windows explorer to the YSokoban). This will select this collection in YSokoban for play.
3. Drag and drop file with skin over YSokoban. In that case YSokoban will use that skin to show current level.

## Hot-keys

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 |

Created with Ywiki