How to disable the navigation keys on Inno Setup installer GUI? - windows

Is there a way to completely disable the navigation hotkeys on the installers created by Inno Setup?
Currently pressing B is like like clicking on the BACK button, and pressing N will get you to the NEXT page. I would like to disable this behaviour, so the installer is not reacting to these keys, and maybe other navigation keys which are there.
I'm adding a component search ability on the components page. These hotkeys were breaking it. As if someone is searching for a name that is containing either N or B, it was switching the page, totally ruining the functionality I added there.

First this is a bad idea. The keyboard accelerators are useful and they are absolutely needed for example by blind users.
If the accelerators break your search functionality, then you have implemented it incorrectly. Have you noticed that if you type the hotkeys on input boxes, the keys correctly type into the box and don't trigger the buttons? You seem to have an XY problem.
Anyway...
The keyboard accelerators are controlled by adding the & symbol in control caption before the letter, that should work as the accelerator. In the GUI the letter is then underlined (after you click the Alt key).
For example, this is how the buttons are defined in the Default.isl:
ButtonBack=< &Back
ButtonNext=&Next >
ButtonInstall=&Install
Just remove the &, if you do not want them. Either modify the Default.isl or override the caption in the [Messages] section in your .iss.
Related questions:
How to add access key to button in Inno Setup
Why do we use '&' character in Inno Setup?

Related

Tab stop not working in form with custom controls

I am creating a vb.net program in visual studio 2019 community. I have created a form with several buttons and group boxes. Within the group boxes are radio buttons and or Check boxes. The form also uses 2 custom controls. 4 instances of Custom control "A" is on the form at design time. Two instances of Custom control "B" are added at runtime and more can be added by the user with a button click. Note that custom control "B" has within it 4 instances of custom control "A".
The problem is when I run the program and press the tab key I do not get the expected behavior of focus moving to the next control. Nothing happens when tab is pressed. Pressing the tab key does nothing regardless of which control I give focus to.
I have set tab stop to true on all the controls I want to stop on. I have set the tab index values in the order I want.
Thinking maybe it has something to do with the custom controls...
I tried removing the code that adds custom control "B" at runtime so that no custom control "B" is on the form. That did not help.
In addition to removing control B I disabled all Custom control A. That did not help either.
Is there a setting somewhere that enables the tab button to work as expected?
What else should I be looking at?
Ok so this appears to be unrelated to the form. I failed to mention this is an add in for another program (Autodesk Inventor). I also failed to consider that inventor may be handling the tab key, which appears to be the case...
https://adndevblog.typepad.com/manufacturing/2012/05/handling-tab-key-in-inventor-net-forms.html

Mac: Disable Keyboard-Shortcut for symbol

On my mac, typing Option-Shift-R in any text field in any program inserts a "‰" character. The problem is that I use Option-Shift-R as a special shortcut in another program (PyCharm), and whenever I use this key it both executes the action in pycharm and types the character, which is annoying.
Given that I've never once needed the "per-mille" symbol in my life, is there a way on mac to disable this shortcut? There seems to be no option for it in the "Keyboard -> Shortcuts" menu.
It is your keyboard layout that's producing "‰" when you press Option-Shift-R. (It's also what produces "A" when you press the A key, and everything else.)
You can try switching to a different built-in keyboard layout using System Preferences > Keyboard > Input Sources, but you probably won't find one which produces nothing when you press Option-Shift-R.
So, your best bet is probably to create a custom keyboard layout and use that. There's an app called Ukelele that can help create such custom keyboard layouts. I haven't check recently, but I'm fairly sure it can create a new one by copying one of the built-in layouts, which you then tweak just a bit so most things work just as you expect.

Custom key for multiple cursor in VSCode

In VS Code you need to use alt to set multiple cursors. Is there any way to change it to, maybe, ctrl? Using alt really annoys me as it's less comfortable to me and it always toggles menu bar which I hid on Windows:
photo
Or maybe is there any other solution, maybe to change key that toggles menu? I couldn't find any useful shortcut entries in shortcuts config of vs code.
It is not currently possible to customize mouse shortcuts, the feature request for that is here https://github.com/Microsoft/vscode/issues/3130
It's actually completely unusable on most Linux distributions as it's an OS-level shortcut.

2 basic Textmate shortcuts 'don't save' and 'replace all'

Ok, maybe they're system shortcuts. I've googled (just a bit) and couldn't find an answer. Maybe there isn't any :) Still..
I love keyboard and I use quite a few in TextMate but just realise I still use the mouse for 2 of the most common actions:
How do I press search and replace after the S/R dialog box is up? - if you press enter it just takes you to the next occurrence of the search string
when I close a file that I don't want to save, how can I choose don't save without touching the mouse?
To select Don't Save from the keyboard, you can use the keyboard shortcut ⌘+D. (This works in most OS X apps, not just TextMate.)
The search and replace (actually it's called "Replace & Find") shortcut is alt-cmd-f and works both inside the Find dialog and without it. With using other shortcuts like cmd-f, shift-cmd-f, cmd-G you can perform most of the search/replace actions without even opening the dialog. For example, if you want to perform the substitution, you press alt-cmd-f, then another is highlighted and if you want to skip it, it's cmd-G, which finds yet another, and so on.
As for the second question, I think it's a general Mac OS X issue -- the message boxes buttons don't have keyboard shortcuts in other apps, too. When I first switched from Windows, this annoyed me but I got used to it by now.
I recently built a web site to store lists of shortcut keys and there is a great list of TextMate Shortcut Keys for Mac on there.
If you know any more you can add them yourself too!
Here's the link http://shortcutkeys.org/software-shortcuts/mac/textmate
If you want to choose the answer for any dialog with the keyboard, go to "System Preferences" > "Keyboard" > "Keyboard Shortcuts". On the bottom of that page there are two radio buttons. Activate "All controls". Now you can switch options of a dialog box with the tab key in every proper OS X application. Note that this is a secondary option, thus you can hit the enter key for the default behaviour or space to trigger your secondary option. Most often it's set to the opposite of the default behaviour, i.e. "Don't save" in a file save dialog and "no" or "cancel" in many many other applications.
I think thats a great feature. Due to the secondary option I always hit either enter or space, depending which option I wanted.

Is it better to disable or omit context/popup menu options?

My application is context-sensisitve and I dynamically build menus for the main window / context/popup, and other places. I typically know if a given menu command will be valid given the current state of the application. Is it better practice to DISABLE/GREY the menu options which currently do not apply OR since I'm generating the menu anyway, OMIT them entirely?
The application is a Java/Swing is anyone is curious. The question seems GUI toolkit agnostic but may be platform dependent.
The old apple guidelines say to Disable for fixed menus (in the menu bar), and omit for context menus.
I guess the motivation is that a context menu is supposed to only show options that are available to the particular context, and the main menus are supposed to show all commands, so the user knows where "Save" would be even if it's not selectable at the moment.
For right-click menus, I'd say that if the item is applicable to what was right-clicked but is for some other outside reason unavailable, disable it. If it is not applicable to the right-clicked thing then hide it as there's no chance of it ever showing up. Case in point:
When I right-click on the background area of this page in Firefox the first four items are Back, Forward, Reload, and Stop. Forward and Stop are disabled because they aren't valid actions right now (I have no forward history and the page is not loading anymore). These four guys are very consistently offered, they are expected, global, often-used commands. They are the four main "navigation" controls and by default they have toolbar counterparts (in the form of big dedicated buttons).
However, if I right-click on an image, I get completely different options in the context-menu all related to viewing, saving, and copying the image under where I clicked. These options don't appear at all (not even disabled) under normal use because they are very specific to what I right-clicked on. When right-clicking on the background area, Stop and Forward, while currently not valid actions, are still applicable to what I clicked on (the page) but they are unavailable for other reasons...
Like the rule for menus on the top menu bar, the goal is not to surprise users with commands suddenly appearing for, from the user's point of view, inexplicable reasons.

Resources