paperlined.org
apps > autohotkey > types_of_hotkeys
document updated 15 years ago, on Jun 5, 2008
This is a abstract classification of modifier keys. This document doesn't cover specific implementation details (eg. via AutoIt/AutoHotkey/Win32API/...).

Key things to understand:

Studying modifier-keys is important because manufacturing new modifier-keys allows you to rapidly multiply the number of actions your keyboard can perform using two-key combinations.

Timing doesn't matter (can be typed as fast as possible)

Modifier-key does nothing on its own

A key that must be used in combination with other keys to perform any action.

Standard examples: Alt, Shift, Control.

Converting existing keys: Can only be done when you will never need that key's normal functionality. (though you can assign its normal functionality to a combination-hotkey, of course) Candidates for removing their functionality altogether include:

NOTE that there are several pairs of keys (left-alt/right-alt, left-shift/right-shift, left-ctrl/right-ctrl, etc), and many people usually use only one half of the keyboard for modifier-keys. This means that the other half are very useful for personalized hotkeys.

Modifier-key triggers a default action on release

This kind of modifier-key has two separate modes:

  1. Press, and release, and it does its default action on release. (the default action can not be repeated by holding the key down)
  2. Hold down, use as a modifier-key in combination with another key. Once this happens, it can continue being used for different modifier-key combinations, but it won't trigger its default on-release action (until it's been released, pressed, and released again).

Standard examples:

Converting existing keys: You'll want to find keys that don't need to be used for hold-to-repeat. Also, it shouldn't be a key you use frequently, otherwise you'll probably find it annoying to have it respond only on key-release. Good candidates include:

Toggle on / toggle off

Tap to lock the modifier-key on. In this mode, a few keys may change their behavior. Release and tap to turn it off. In this mode, everything returns to normal.

Standard examples: Caps-lock, Scroll-lock, Num-lock.

Converting existing keys: The difficulty is that you need some kind of visual indication of toggled state. You can have an extra tray icon that shows the state. Or, if you totally disable one of the existing *-lock keys (what do you need that caps-lock for anyway?), you can reappropriate its physical LED for your toggle-modifier-key's use.

Depends on timing (either limits top speed, or risks accidentally triggering)

Double-click

Standard examples: Left mouse button.

Other

[complicated] Use timing to allow for single-key hotkeys

See here.