rxhanson 10 hours ago

Without knowing about Jef Raskin's ideas, I implemented something really similar to one of them in one of my Mac apps, Superkey. This idea in the Canon Cat was that you hold down a key and type text that you want to select anywhere in a document, then let go to select it - typically faster than reaching for a mouse or hitting arrow keys. In the Canon Cat it was an additional key (the leap key), below the space bar.

For the implementation in Superkey, you can select a key to use for this, like caps lock. The way I use it is I hold the caps lock key and type text, then the app uses OCR and optionally the macOS Accessibility API to search for matching text. Releasing the key or hitting enter will click (or double or triple click, etc) on a match.

Raskin's idea was of course more text-editing focused, and tapping on the leap keys will also move the cursor. I typically use Superkey to navigate UIs quickly, kind of as though UIs all have keyboard shortcut navigation. There are also limitations that Superkey faces, like not having access to offscreen parts of a document.

  • drivers99 5 hours ago

    I made a PCB for a keyboard and built it with forward and backward leap keys, “use front” keys etc, copying the Canon Cat. Now I “just” have to write the actual text editing software/OS for whichever microcontroller I end up using, and a case to hold it all together.

  • treetalker 6 hours ago

    > you can select a key to use for this

    Might be a good use for a foot pedal I have lying around!

  • pazimzadeh 9 hours ago

    what happens if there are multiple matches in the document?

    • classichasclass 9 hours ago

      (author) Next one in sequence. You can leap forwards or backwards. On the Cat, there is also a LOCAL LEAP for within the current document only.

      • rxhanson 8 hours ago

        Good to know, that's what I was expecting. I'll have to give the Cat a spin! Also, thanks for this article and the Jef Raskin one - I thoroughly enjoyed them and their depth. I was in the middle of reading the book version of folklore.org (Revolution in the Valley) and these were a pleasant surprise.

        • classichasclass 6 hours ago

          Thanks for the kind word! They were fun to write.

    • rxhanson 9 hours ago

      In Superkey, all of the matches are highlighted yellow, and the selected one is highlighted green with a line to it from the text field. You can keep typing to narrow down the match, or you can navigate matches using the arrow keys (and optionally, cycle through them with the semicolon key, which is what I use). There's a screenshot at https://superkey.app.

      For the Canon Cat, I'm actually not sure as I've only watched videos of this functionality there.

      • pazimzadeh 9 hours ago

        just downloaded Superkey and am trying it

        how do I cycle using the arrow keys? currently using the arrow keys moves the cursor for the text in the search box

        edit: tab seems to work. but sometimes Seek only works on one monitor (the one which has a window is selected), sometimes it finds results on both

        • rxhanson 9 hours ago

          Up and down arrow keys will cycle matches.

          At the moment the Accessibility API results are limited to the frontmost window; it's on my todo list to expand this to additional windows and displays. Also, the green line will only be drawn on results on the main display - another item I plan on fixing.