Super User Asked by Carlanthony Zasowski on November 3, 2021
I have a standard keyboard. With AutoHotKey, I have mapped F1 to F12 to perform extremely specific tasks which I have muscle-memorized, and in addition to these, I have numerous WinKey+Letter remappings to perform other tasks of a different kind, where the latter reminds me of which does which. The F ones I had to simply memorize slowly.
I find this already to be massively problematic. Oftentimes, F8 or F9 or something does a different function in another program, such as "set fullscreen" or something. But I’d ideally want to add many more "shortcut keys", to perform all kinds of tasks with single buttons.
I basically find myself wishing I had a much large keyboard full of hundreds of extra keys which I could customize with colors and/or labels, but I’ve never seen such a thing.
I’m not sure a separate "USB button pad" or something would even work, or be physically convenient. I’d ideally like a solution which requires no new hardware, like some kind of smart way of utilizing the existing keyboard…
I’ve many times thought that I should be able to only remap a single button which opens or closes a special "overlay menu", which takes over the keyboard until a key is pressed, and thus I could use all keys on the keyboard. However, I cannot program such a thing and I am not aware of such a program existing. And it if does, I bet it would be over-engineered and not suitable for me for some reason. It’s also very important that things are instant when such a program is used.
What do other superusers or powerusers do?
One more option that isn't in any of the other answers (that I saw): QMK. QMK is an open source firmware for some compatible keyboards that allows the programming of every key, and a lot more powerful features such as layers. A QMK keyboard can have a key programmed to act like a modifier for accessing another layer. This new layer can have key combinations (and more: https://beta.docs.qmk.fm/using-qmk/software-features). This is what makes using 40% keyboards like the Plank EZ possible, but can also add features to a full-size 104 key keyboard.
Most keyboards don't use QMK (it's pretty much only a feature on mechanical keyboards), but there's an adapter (https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/) that can be used to convert any normal keyboard.
Answered by CtrlAltF2 on November 3, 2021
Easy, map SHIFT + F1 through F12. Many systems use this, and call SHIFT + F1
as simply F13
, SHIFT + F2
as F14
, etc.
Answered by SnakeDoc on November 3, 2021
Don't forget about hotstrings!
At a previous job, I helped our customer support team by creating templates in AutoHotKey that would replace various strings with a template email, which was much faster than the standard template functionality in Outlook, and faster than copy and pasting the templates from a text file, which was our process at the time.
A sample from the linked documentation is just this:
::btw::
MsgBox You typed "btw".
return
But I would usually prepend the string with something else, like grave (`):
:*:``newpass::
paste(generateRandomString())
return
You can use these basically like command chords in some applications, and they're usually less taxing to remember because it can be a word.
The other thing to remember is that hotkeys can have filters on them, such that they only trigger for certain applications.
Answered by William on November 3, 2021
Visual Studio uses sequences of hotkeys for various things. For example, Ctrl+ does nothing on its own but opens a number of different windows based on what is pressed afterwards. Press Ctrl+, release, and then press T to open the "Tasks" window or E to open the error list. It lets you multiplex a single hotkey to perform a lot of different functions. To implement this sort of thing, you'd want the initial hotkey/combo to trigger a function that reads the next character from the keyboard and then performs the appropriate action. If you read that character without a timeout (like Input, OutputVar, L1
), then you effectively have the "keyboard overlay" functionality that you mention.
Personally, I gave up on hotkeys a while back and started using SlickRun. Press a key combo and you get a little floating command line that you can configure to do whatever you want based on what you type. I can type "mail" to open my email client, type "? query" to open a web browser to my search engine of choice and search for "query", or type "term" to launch PuTTY and initiate a serial port connection to a piece of machinery. I find the keywords/commands a lot easier to remember than arcane hotkey combos and take only marginally longer to type. Also, it's all hidden behind a single hotkey so there's almost never a conflict with other programs. I can even set up a command to run a script, which allows me to do fancy things like interact with programs that are currently minimized.
Answered by bta on November 3, 2021
It is not clear, how many programs and specific operations you wish to speed up, however, the more there are, the less you will be using each of the particular shortcuts and the harder it will be to remember them.
I would recommend using the standard Windows keyboard shortcuts for apps, instead of trying to create and memorize your own. Microsoft wrote the shortcut guidelines and very large proportion of Windows programs honour those.
CTRL+F4 will almost always close the current document/window without exiting the program, CTRL+Tab well almost always cycle through current app's windows. ALT+F4 will definitely exit the current app. CTRL+C will copy to clipboard. etc.
In addition, most of Windows programs use the ALT menu access for mnemonic shortcuts, which is my preferred way of working with keyboard.
hit and release ALT and you are in menu mode. hit F ( for file) and then X (for exit) and you will exit the app, too. ALT,I,S should insert signature in Outlook. Best thing is if you're not sure, the shortcut keys will be underlined so you can have a look.
I would reserve AHK macros for only some longer sequences of keys that you have to use very often.
Answered by Gnudiff on November 3, 2021
I remember reading about a certain Windows setting that turns the right hand Alt key into an Alt-Gr key, normally used for entering characters that are outside the normal character set for that keyboard.
Answered by milesrf on November 3, 2021
My personal approach with this has always been the following:
Unlike the other approaches I see mentioned here with Ctrl/Alt/Win/whatever, this one gives you pretty much infinite keys (unless the variable overflows, which I'm not sure if that can even happen in AHK or not).
Answered by ooa on November 3, 2021
I am a long-time AHK user.
I do not recommend custom "macro keyboards" or anything with non-default buttons. Autohotkey may not pick them up. They don't have to use signals that can be picked up by 3rd party software. I've had a Logitech G15 keyboard and the macro keys are not picked up by AHK; I had to create standard keyboard combinations (Win/Ctrl/Alt/Shift + Letter) for AHK to pick it up.
What you can do is use Hotstrings to fire your macros instead of a key combination.
Their built-in example has ::btw::By The Way
. What this does is, every time you type btw
and then space, it'll delete your text, and send By The Way
as keystrokes.
You can change this to :*:btw::By The Way
so that you don't need to use space.
If you have lots of "games" that want to launch shortcuts, you can do something like this:
:*:*g-f::run "Fortnite"
:*:*g-l::run "LoL"
:*:*g-p::run "PUBG"
So when you type *g-f
, you'll launch Fortnite, *g-l
will launch LoL, etc, etc. You have unlimited amount of shortcuts you can create using short codes for whatever function you want.
Just note that the keystrokes ARE sent, so if you're in a word processor, the text *g-l
will show up, and sometimes AHK may not delete all those strokes before executing the code. Adding in slight delay like sleep, 10
at the start would compensate that, or just don't run these macros in a word processor.
I also know how to create a GUI, and it is actually a lot simpler than anything else I've used. If you want to get started, start with the Gui, Add, follow the example, and create your first GUI.
Answered by Nelson on November 3, 2021
As a huge fan of keyboard and shortcut productivity, I've tried a number of different approaches to extending and customizing keyboard shortcuts. Some have been wildly successful, using them multiple times per minute, and others have fizzled in practice.
Generally, I've found that a secondary device is much less useful than the keyboard and mouse that your hands are already on. Having to move your hand off the keyboard to some other thing makes the shortcut not-so-short and I find I don't end up using it very often.
This answer is an overview of the approaches I've taken, ordered by how successful they have been for me (starting with most successful).
While it is designed as a gaming mouse specifically for MMOs, the Logitech G600 is easily the best productivity boost I've ever used, and it's cheap at $40.
That's a lot of extra button capacity on a device that you already have your hand on. The bundled software is highly customizable — you can configure each key to send a shortcut key, a series of keypresses, launch a particular program or script directly, or even expose the keypress to a special API (outside of Windows' normal keyboard handling) that can be consumed by an external app. You can also configure the buttons to behave differently depending on which app has focus.
With a bit of hacking, it is possible to use Caps Lock as a modifier like Ctrl or ⊞ Win. Since basically nothing uses Caps+… as a key combo, this opens up the entire keyboard for a new set of shortcuts.
I wrote my own utility for this purpose, but regrettably it's not at all in shape to share. It does look like you can get it working as a modifier in AutoHotkey, though.
U̲se the old-school keyboard navigation mnemonics to your advantage! Press Alt and underlines will appear under a letter in the label of many controls and menus. Press the the underlined letter to activate the control — selecting a menu item, checking a checkbox, or pressing a button. It's easy to memorize useful sequences since the mnemonic letter is generally the first letter or most important letter of a command. For example, Alt+F, O will open the F̲ile menu and select O̲pen, taking you straight to the open dialog.
Tips:
Sadly, most web-based and many "modern" apps neglect mnemonics, so whether this is useful in a given app varies.
There are a number of keyboards designed for gamers that have extra programmable keys. eg Logitech's G series, such as the G-910, which has 5 programmable keys on the left side and 4 on top of the regular F keys. Like the buttons on the G600 mouse, there's lots of programming flexibility.
The design of most gaming keyboards is of course... bold, so if you're using one in an office, prepare to talk about it.
There are many devices that you can set next to your keyboard which provide many extra keys. My favorite was the Logitech G13 (above left), but it was sadly discontinued. It could be had new for $50, but now it sells for up to $400 when you can find it.
These devices are sold under a few different names, including gameboard, gaming keypad, macro keyboard, programmable keypad, content creation controller, and stream controller.
Some devices, like the G13, have dedicated keys with special software to enable programmability. Others appear to Windows as regular keyboards that press the same keys as your main keyboard — they just happen to be oddly shaped and don't have the full alphabet. You should prefer the devices with dedicated input.
Depending on your use case, these secondary devices can prove to be not worthwhile if you frequently have to move your hand off the main keyboard, press a key, and then move back. For example, as a programmer, I found it to be much more natural and useful to bind extra keys using Caps as a modifier on my main keyboard. However, my video editor partner found the G13 to be extremely useful in that workflow.
Lay a tablet (or even an old phone) on your desk next to your keyboard, disable the screen timeout, and use it to show shortcut buttons. There are a number of Android and iPad apps that connect to an app on your computer and allow you to execute various shortcuts/functions. Or, if you're adventurous, you can build your own as a web app and open it in the device's browser.
While this gives you a huge amount of flexibility because the buttons are virtual on a screen, in my experience this actually turned out to be a huge downside. Touchscreens lack the tactile feedback provided by real keyboards and keypads, which is especially important when you want to be able to quickly find shortcut keys by feel alone. It's the same reason touchscreens in cars suck — you need to be able to find your frequently used controls without looking at the input device.
That said, if you already have an extra device around, this option is free-to-very-cheap.
I've wanted to try using foot pedals, but I've never actually given it a shot.
There's obviously a pretty low practical limit to the number of pedals you can use, but it does give you an extra input device that's always within reach.
These are all free keyboard productivity tools I like:
Answered by josh3736 on November 3, 2021
Back when Wordperfect 5.1 ruled the earth, there were function key templates that aided in muscle memorization. Templates differed but they usually had at least 4 functions marked for each key (plain, control, shift and alt).
Answered by Ross Presser on November 3, 2021
Have you considered using two or three key combo in your hotkey setup?
Single Key: F1-F12 mapped to functions 1 to 12 and so on for alphabets and numbers
Two Key combo: CapsLock+F1-F12 mapped to functions 13 to 24 and so on, for ScrollLock and NumLock as well
Making two key hotkeys is straightforward using ^ ! # + (Ctrl, Alt, Win, Shift) and other keys with alphabet and number keys respectively.
Match function, alphabet or number keys with CapsLock/AltGr/Right-Alt/Right-Ctrl/Numpad0-9/ScrollLock/NumLock keys for additional hotkeys.
Example 1:
; CapsLock + ALT + K to execute function 1
Capslock & k::
GetKeyState, state, Alt
if state = D
func1()
Return
Source: How to combine three keys as a hotkey with Autohotkey?
Example 2:
#If GetKeyState("CapsLock", "T") ; if CapsLock is ON
!F1:: ; CapsLock + ALT + F1
func1()
return
..
..
!F12::
func12()
return
#If
Source: AdditiveTips
Answered by xypha on November 3, 2021
You can purchase a macro keyboard (scroll through the list). A macro keyboard like this, combined with AutoHotKey sounds like it would be right up your alley.
Answered by Keltari on November 3, 2021
I've many times thought that I should be able to only remap a single button which opens or closes a special "overlay menu", which takes over the keyboard until a key is pressed, and thus I could use all keys on the keyboard. However, I cannot program such a thing and I am not aware of such a program existing.
It can be done with Autohotkey for sure, I've done this once for Notepad++. And one can implement visual feedback that shows e.g. which "layer" you are in, or a passive UI which will give hints with keys and commands. All can be done with Autohotkey. So basically you can have unlimited possibilities to extend the keyboard with "layers".
And you did not mention what exact problem and in which software you have. In fact, frequently used global OS actions include only switching between the apps, typing text and copy-paste, so I doubt there can be that many global useful shortcuts. Everything else is app-specific.
If you have some software which requires so many shortcuts, and the software does not provide good way to rebind those, I would simply develop app-specific AHK script that extends it as mentioned above. So e.g. you could have some sort of "command" mode which you invoke with one key (like in VIM editor) and use thew whole keyboard. In my experience this can solve most issues.
I basically find myself wishing I had a much large keyboard full of hundreds of extra keys which I could customize with colors and/or labels, but I've never seen such a thing.
For me personally, ergonomics is more of issue than overall amount of keys. I'm using A4Tech X7 G800V keyboard, it has extra 16 programmable keys, but what is important, more extra keys are under my left thumb and pinkie which can be bound to frequently used keys like Enter, Delete, Backspace etc. which otherwise are not reachable with my left paw.
And of course you can buy e.g. some additional USB keypad, but make sure it is programmable, so that the keys can be reassigned via firmware to some extended keycodes (those which are not present on the main keyboard, like e.g. F13-F24 keys), so it can be easily used with Autohotkey.
Answered by Mikhail V on November 3, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP