This changes the Windows keyboard code to fallback on predefined virtual-key codes (see this page) for keys in ranges 0-9, a-z and A-Z if the key cannot be typed using the current keyboard layout. This means that the equivalent key will be typed instead, allowing common keyboard shortcuts, such as Ctrl+C, to work properly.
If the Windows Unicode keyboard is enabled and keys in these ranges cannot be typed on the current keyboard layout, then Dragonfly will fallback on Unicode events. In such a scenario, pressing Ctrl+C using something like Key("c-c") would result in "c" being pressed without the Ctrl modifier key held down. This problem is documented in detail in the documentation on actions.
TODO
[X] Improvements..
[x] Update the relevant sections slightly before merging.
[x] Use use_hardware=True in Paste action.
This should have been done before these changes.
This changes the Windows keyboard code to fallback on predefined virtual-key codes (see this page) for keys in ranges 0-9, a-z and A-Z if the key cannot be typed using the current keyboard layout. This means that the equivalent key will be typed instead, allowing common keyboard shortcuts, such as Ctrl+C, to work properly.
If the Windows Unicode keyboard is enabled and keys in these ranges cannot be typed on the current keyboard layout, then Dragonfly will fallback on Unicode events. In such a scenario, pressing Ctrl+C using something like
Key("c-c")
would result in "c" being pressed without the Ctrl modifier key held down. This problem is documented in detail in the documentation on actions.TODO
use_hardware=True
inPaste
action. This should have been done before these changes.