Caps Lock does not seem to work as modifier key (Insert) with NVDA running inside a virtual machine (macOS VMware Fusion) - insert

I'm running NVDA inside a virtual machine on my macOS using VMware Fusion. I do that since many years, and it's generally a very smooth experience, except that I need to map a keyboard key to Insert. I use Karabiner-Elements to do just that: it maps my right option key to Insert. This runs just fine, but it is quite a complex installation/configuration, and when asking clients to do the same, they are quickly overwhelmed. (Sadly, while VMware Fusion offers a feature to map certain keyboard combos to different ones, it does not allow to just change a single key's [ie. right option to insert] mapping.)
So I tried to go the route of activating the NVDA option to use caps lock as modifier key, too. But this just does not seem to work - or do I do something wrong?
Would I need to keep holding caps lock while hitting (for instance) N (to show the NVDA menus)
Or would pressing and releasing caps lock trigger some special "I am on Insert now" mode, so I could just hit another key like N? And then press and release caps lock again to deactivate the "special mode" again?
Neither option works for me. What I can say though is that the "real" caps lock functionality does not get activated anymore with the option checked, unless I hit it twice in a row quickly. So it at least seems to have some effect...
Am I doing something wrong? Any help is highly appreciated.

Related

Writing a Linux driver for a weird keyboard

I own a keyboard that has an anti-ghosting mode.
It is toggled on/off using Fn+ScrollLock. When on, the codes sent are a bit different. The keyboard is still legitimate HID, but, for example, all modifier keys are seen by Linux as Shift and the actual modifier key is in another field of the event.
What I am looking for is either a ready driver (should someone happen to know about one) or some introduction to writing such input drivers. I do not know much about the ecosystem (evdev, libinput, etc.) and I do not even know where to start. If possible, the same driver should work both under X11 and under Wayland.
Just for the record, the keyboard's “shop” name is Modecom Volcano Gaming. The USB ID is258a:1006 and it is apparently not annotated in usb.ids. The keyboard works perfectly fine in both modes under Windows.

Is it possible to use the letter keys to access programs on Windows 8.1 Metro, like in XP?

For those who remember (or still use) Windows XP, you might remember that you could launch the start bar with your Windows key on your keyboard and then hit the letter of the program/folder/file you wanted and as long as there wasn't another program/folder/file on the start bar starting with the same letter, it'd launch right away.
e.g. If you wanted to open excel, you'd hit the windows key and press the letter "e" and excel would launch.
So, for those who do remember that feature, I'm wondering, is there any way to get that functionality back in Windows 8.1? Right now, what happens is that when you hit the windows key, Metro pops up (which is fine) but if you type "e", for example, windows will automatically start searching instead of just launching Excel (or whatever letter you've typed).
I'd rather keep the interface as it is and, if possible, prefer not to install any 3rd party software (unless there's no other go). My preference is to be able to utilize the OS to get that option (if available), even if that includes going through regedit.
Just a note, I am already aware that 8.1 and XP are completely different architectures and I also realize that automatic searching does have its benefits but I prefer that specific XP functionality so it'd be great if I could get it back in 8.1.
Thanks in advance for your help.
This isn't the exact thing that I'm looking for but I've found somewhat of a workaround. You can create global keyboard shortcuts and thereby circumvent the metro/start screen altogether.
To do so, create a shortcut of the program/folder/file you want to easily access (the shortcut can be placed anywhere). Then, go to the properties of the shortcut and go to the shortcut tab where you can enter a global shortcut key (about half way down the box).
Of course, there are limitations to this because there are only a few keys (key combinations) free that you can use globally whereas with the XP method I was looking for, you could essentially have up to 36 different items you can access with just two keystrokes (26 letters, 10 numbers - not sure if other characters worked).
If anyone has figured out the XP method, though, that would be great.

How to map Caps Lock to Esc for Vim in macOS?

I use vim to develop on my mac and I updated to Mountain Lion yesterday. I was using http://pqrs.org/macosx/keyremap4macbook/ this to remap the escape key's function to caps lock to switch between edit and insert modes. I can't really functionally develop in vim without this and it doesn't seem to work in Moutain Lion. I really need a solution soon!
Thanks a lot guys.
Found this:
https://github.com/tekezo/PCKeyboardHack/issues/8#issuecomment-7359829
It worked perfectly for me.
I had grown so accustomed to using caps-lock as esc, that it was killing my productivity until I found this.
You can achieve the same using the accessibility features of macOS. A usage example:
Map Caps Lock to Esc;
Map double Shift to Caps Lock.
To achieve (1) go to Settings > Keyboard > Special keys. In the appeared dialog set the desired mappings.
To achieve (2) go to Settings > Accessibility > Keyboard > Hardware > Activate lock keys.
So now if you have taps on you'll even have a logo on your screen notifying you about that.
NB. These are system-wide settings, not only for vim, but I believe it doesn't make a lot of sense to have a special mapping only for one editor, it will only make things more confusing.
NB. The Settings names could differ slightly for you, since I had to translate them from Dutch. Use some fuzzy logic to get to the right place.

Activate Item on Button Press or Button Release

I have a simple GUI that I am developing for an embedded system. The menus can be navigated with the up/down keys and an item can be activated by pressing a confirm key. Presently there are no double presses or long presses planned, but they might be implemented in future releases. Right now the keys are processed on key release. I like this configuration, but could there be a reason why I would want to process a key on button press instead? Any reason why someone has a preference over key press or key release?
I'd go for key press, because it's the result of the user's desire to make something happen, and it's happening now.
Some users may move more slowly than others, so to only act on release of the key means delaying the user's intention, which goes against the UI principle of giving instant feedback for user actions.
What's your reason for preferring key release?
Incidentally, if these are actual physical switches, don't forget to do some debouncing in software. Jack Ganssle's Guide to Debouncing goes into a lot of detail on how to do this.

Reenable (windows)keys after another program has disabled it

Quake3 has disabled the alt and windows keys.
Is there any way to reenable them even while quake3 is running? I need those keys even while I have the game open.
They way I think it works is that the game registers a hotkey using RegisterHotKey and then sets the handled property to true every time the key is pressed.
So if you use UnRegisterHotkey on these keys on the quake3-window I guess the keys will start working again. The problem is that you have no idea what hotkey-id the disabled keys have.
Is there any way to enumerate the hotkeys that a window has registered to get all the hotkey-ids?
It's quite likely that Quake3 doesn't bother with RegisterHotKey at all, but instead uses DirectInput. In that case, it quite likely holds the keyboard in exclusive mode, which explains why the Windows key doesn't work - it's the OS which disables it. Quoting MSDN : "In exclusive mode, the Windows logo key is always disabled."

Resources