Menu

Redefining the arrow keys to be "WASD".

2014-12-12
2014-12-14
  • Mike Petonic

    Mike Petonic - 2014-12-12

    Hi All — Recent (like, tonight) convert from Freemind to Freeplane. Freemind was just too unstable and was crashing too often (OXS Yosemite) for me.

    Request: Is there a way to redefine the “WASD” keys to be used instead of the arrow keys? I’ve set up Freeplane to be in a modal edit mode like VI via “On Key Type: Do Nothing” in preferences.

    I just can’t find how to remap the arrow keys. Any hints?

    BTW: This seems very stable, and I like the scripting add-ons, ease of remapping keys, and overall polish. Thanks, all!

    -Mike

     

    Last edit: Mike Petonic 2014-12-12
    • Dimitry Polivaev

      Select Tools->Preferences->Behaviour->Behaviour->On Key Type -> Do nothing
      After that you can assign all characters to menu items.

      Regards,
      Dimitry

       
  • Mike Petonic

    Mike Petonic - 2014-12-12

    Just to add some color to the discussion, I've already tried to add the string:

    keystroke_move_left=A

    to the auto.properties file of ~/.freeplane/1.3.x

    I snarfed that line from my ~/.freemind/auto.properties file, but it doesn't seem to work the same way.

    Any help or ideas would be much appreciated.

     
  • jokro

    jokro - 2014-12-12

    Mike,
    First, your question seems unusual. If editing a map, you need the WASD-keys to output their original characters, not being arrow-key functions. So I do not get if the thing you want is sensible.

    A workaround using an addon might be:
    1. define 4 scripts, each script calling one of the arrow key functions taken from the Navigation menu.
    2. in the addon definition, set a hot key for each script. You could set <ALT>A for e.g. the left arrow script etc.
    Now if you hit the hot key the associated arrow function will be performed. If you do not hit <ALT> the original character will be entered.
    Regards Jodi

     
  • Mike Petonic

    Mike Petonic - 2014-12-14

    Ahh, thanks for the help, Volker. I see that someone else has run into the same desires.

    Since Freeplane doesn't seem to support single letter key bindings, I think it may just be easier for me to revert to my Emacs habits (Ctr-N, Ctrl-P, Ctrl-f, Ctrl-b). That was almost 18 years ago for me, LOL. But, since I'm using OSX and those bindings are relevant, it may be useful to do a mind hack instead of an auto.properties hack.

    @Jokro: Freemind supports this "modal editing". If you have “On Key Type: Do Nothing”, then it's in movement mode, and the letter keys only type letters if you're in Insert mode.

    @Dimitriy: First, thanks a ton for helping drive this project. Freeplane seems to be a lot more stable than Freemind, and equally as important, it seems to have active development associated with it. I'm a mindmapper from way back (2001 or so).

    I know about the “On Key Type: Do Nothing”, but the challenge I'm having is mapping the equivalent of the left arrow key to "A". I can't seem to get the action for "A" and feel as if writing a script to emulate the behavior of something that is already in the Freeplane program to be a little wonky. Sure there's overhead of the script, but from reading the old discussion post referenced by Volker, it appears that the actions aren't quite equivalent.