Would re-mapping a few keys be hard?

  • Kevin Ashton
    Kevin Ashton

    I am interested in re-mapping a few keys in Freemind to make navigation by the keyboard quicker. Example when you are navigating nodes (usually done with the arrow keys) I would like to re-map j,k,h,l to serve as the arrow keys. (This would save a lot of time going to the arrows or to the mouse) When I am over a node I want to edit I would push 'i' which would do the same thing as F2 does currently.

    In summary I want to change the following keys

    j - down
    k - up
    h - left
    l - right
    i - Edit Node

    I am sure many of you recognize this navigation as VI. Freemind is such a great program it would be nice to be able to navigate as quickly without moving my hands, or switching to the mouse.

    I have some programming experience but not tons. I am just wondering how much work this would take to implement? I don't think this would be too complicated so i think I will go ahead and try it. Basically I am just wondering if it will be a lot more work than I expect before I spend all of this effort. Anyway any thoughts are appreciated. Thanks

    Kevin Ashton

    • WhitePeace

      Hi Kevin,
      I agree with you about assigning new keys for navigation, maybe not the listed ones as they are aligned serially on the keyboard which might be a little bit against the way people used to see the arrows.
      i would pay your attention that you wont be getting any help while doing this, i am trying since 2 weeks with different features and I post comments and questions in bugs or features or in the forum and till now i got not a single reply from one of the developers. mentioning issues like commenting classes and/or functions and other feedback should not be ignored, i just like to contribute, but any way I do not like to draw conclusions, hopefully this wont end up with a fork in the end like other projects where new developers have been pushed to adapt the Bazaar model in a new fork which was a petty, as efforts should get unified and not forked.

      • Eric L.
        Eric L.


        I'm not a developer (only the Linux packager) but let me answer to this.

        We're currently trying to get out a Release Candidate of 0.9.0 and we're already "fighting" between us on what to fix before, so we won't accept any new feature for the next weeks/months (Summer is soon). Add to this that we're all very busy otherwise (2 having houses being built/bought, one a child being built eeeh born, almost everybody overworked...), and I hope you'll have some understanding for us not responding timely.

        At this point in time, you could all help us by creating patches for _bugs_ (no new features at this point) and post them to the Patch tracker. You can find your own bugs, try to pin down some of the strangenesses described in the forums, or look at the Bugs tracker, it's full of bugs. If you have a patch for an existing bug, I suggest that you attach it to the Bug and drop me a note so that I'll move the entry to the Patch tracker.

        Patches should be done against the CVS tag fm_060405_integration.

        Perhaps one of the developers can give some more inputs, I know that a refactoring is ongoing...

        Hope this helps, Eric

    • Kevin Ashton
      Kevin Ashton

      Thanks for the reply white. Yea I realize that most people would get confused with the navigation. It's just it takes so much time to switch from the keyboard to the arrows and back. I love how quickly you can move around in programs like VIM.  I guess if I do this it will be a little hack more or less that I would probably be the only one using. All well. Thanks

    • Hello Kevin, to achieve VYM-style navigation as you have described, please do the following.

      1. In menu Tools > Preferences, check the check box "Disable Key Type", located in Behavior > Key Typing.

      2. Modify the key settings to those you desire, in Tools > Preferences, in Keystrokes.

      3. Restart FreeMind so that the changes take effect.

      Assumption: you are using FreeMind 0.8.0, or some of the unstable test versions of 0.9.0. Your purpose can be achieved in 0.7.1 too, just that settings have to be edited manually in user.properties file.

      Best regards, Dan

      • What I meant was VIM-style navigation, not VYM-style.