Nav - keyboard navigation plugin 🧭

once again, i found myself making a tool for my own personal use that i think is worth sharing with the community. so i present to you, nav - the keyboard navigation plugin! :compass:

dependencies: $:/plugins/felixhayashi/hotzone (found in the CPL or drag-and-droppable from the TiddlyMap demo site)

nav puts a “cursor” in the corner of the focused tiddler, which can be moved around by scrolling or with the keyboard shortcuts. they are based on putting your hand over the WASD keys with your thumb on alt:

  • alt+W to move up, and alt+S to move down
  • alt+A to close the focused tiddler (“swiping it away” as suggested by the default animation)
  • alt+E to edit the focused tiddler
  • alt+R or alt+H to go home (open the default tiddlers)
  • alt+C to focus the sidebar search box (start typing to search)

I recommend also adding the following mappings for the default actions:

  • alt+Q to cancel editing (cancel-edit-tiddler)
  • alt+S to save a draft (save-tiddler)

all bindings remappable from the control panel. if you find moving to be sluggish, turn down the animation duration in Control Panel > Info > Basics to make it more responsive and snappy.

nav gives you a new keyboard-based way to move around the story river, allowing you to do much of your workflow from the keyboard when combined with the built-in keyboard shortcuts. it is also my first proper plugin. hope you find it useful!

plugin_scribs_nav_v0.1_20230808.json (10.7 KB)

7 Likes

Quite interesting, at a first quick glance, thank you!

I have found this similar plugin: Demo of tw5-keyboard-navigation — Navigate through your TiddlyWiki using only your keyboard (maximilian-schillinger.de). The differences I see are: different default key bindings, different graphical indicator for the focused tiddler, and additional binding to Home in your plugin. Are there any other important differences that I have missed?

I think the dependency might not be necessary after all. I just tested the attached JSON on tiddlywiki.com, and all the hotkeys worked. I didn’t import the Hotzone plugin. Or did you mean that your plugin contains some code from Hotzone?

2 Likes

thanks for taking a look :slight_smile:
the main use of hotzone is that it will update the cursor’s position when you scroll with the mouse (or clicking a link, tm-navigate etc). nav will work without it, but the cursor position won’t always match what’s actually on screen.

and yes, that plugin looks similar - i didn’t see it in my initial searches. i think the main difference is the aforementioned sync with other forms of navigation to keep the cursor where you are looking.

1 Like

I thought I must have missed something! I’ll check out how it works with mouse.

1 Like