Re: Keyboard management bug

I just uninstalled the first 2.0 build and installed 2.0.34 and figured I'd try to get my saved keybindings set up correctly (I use ViEmu at work, so when others use my computer I have to turn off ViEmu and turn it back on again relatively frequently), but in doing so I ran into a bug (or at least, I'm not sure what the desired behavior is).

Basically I want to have my saved keybindings include all the default ones that clash with VS, and ctrl-o and ctrl-d for workspace whiz (the wwhiz file open and tag dialog). So I assigned the wwhiz keys before I reinstalled,  and then installed 2.0.34. After starting VS, it had correctly saved the VS binds, but left the wwhiz binds as clashing. Seeing as I wanted the wwhiz binds removed also, I hit save and remove, but this caused all the VS saved keybindings to disappear... I'm not sure how to get them back at this point smile (my VS "reset to default settings" seems to also be broken, but I don't think this has anything to do with ViEmu)

I guess I assumed that if I hit save and remove it would add the list of clashing bindings to the saved keybindings, is this not the case?

I also noticed that when I turn off ViEmu in one VS, and then start another, the "clashing keybindings" message comes up... Is there some way ViEmu could globally turn itself on and off so that starting a new VS would not pop up this message? If not, what is the ideal way to deal with this but maintain my current settings? Just hit "no don't bring up the dialog"?

Then, as a feature request, is it possible to get ]p to work with the new engine? I would love to be able to use that smile Also, is there any chance that 2.1 will have the "surround selection" visual assist feature I mentioned in another thread? smile

Sorry for the long rambling list of feedback/requests, ViEmu really is awesome smile


Re: Keyboard management bug

Hello Raoul,

Indeed, the keybinding management system in ViEmu is pretty complex & confusing. I apologize for that, I wasn't able to come up with a better scheme for 2.0, and the problem is not simple. For the next major version of ViEmu, I plan to implement a completely different scheme: ViEmu will install a window hook, intercept all keys by default, and only pass on to Visual Studio those that are unused or those the user decides he wants to send to Visual Studio. It will be the only way to make it understandable.

Regarding the process above, several points which are all actually my fault:

(1) Just uninstalling 2.0 and installing 2.0.34 would have worked as you wanted, ViEmu settings are not touched either on install or uninstall

(2) Yes, "Save and remove" overwrites the current list. It's not clear in the dialog, and it should be clearly explained in the dialog. The reason they are not just added to the ones on the left is that there may be overlapping bindings, and the interface to handle that would be even more complex. But this should be fixed somehow.

(3) The way to disable ViEmu globally (for all instances, until the next time you turn it on) is to go to Tools|Options|ViEmu and uncheck "Enable ViEmu", and then press OK. That will disable it and save the setting. Ctrl-Shift-Alt-V is only temporary, for the current session, and not saved anywhere

(4) ]p is on the todo list. I will have a look at than and the Visual Assist surround-with interaction for the next version of ViEmu

(5) In order to restore the default settings, and I am assuming by context that you are using VS2005:

  (1) Go to Tools|Import and Export Settings...
  (2) Check "Reset all Settings"
  (3) Click "Next"
  (4) Choose whether you want to backup your current settings in a file (up to you)
  (5) Select the default settings you want (Visual C++, Visual Basic, General Development...)
  (6) Click "Finish"

This should get VS2005 to the pristine state of your choosing. Add or remove the bindings of your choosing here (WWhiz, etc...). After this, I assume you want to rescan, remove & save the clashing keybindings:

  (1) Go to Tools|Options|ViEmu->Keyboard, the right panel will probably be full of clashing bindings
  (2) Click "Forget" under the left panel (the old saved bindings) (answer "yes" to the MsgBox)
  (3) Select what keybindings you want to be scanned for clashes: "All" includes Ctrl-C and Ctrl-V, "Default" doesn't, click on the one you want,
        or modify the list manually and click "Apply"
  (3) Click "Save and Restore" under the right panel (answer "yes" to the MsgBox)
  (4) Click close and ok... you should be all set now

Let me done if something of this doesn't work as expected.

Thanks for the feedback, I apologize for the confusing behavior & the caused problems, and I hope to make up for it in a future version of ViEmu.

Best regards,