Archived
1
0
This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
controller/Macro/PartialMap/capabilities.kll
Jacob Alexander a5203da1d4 Adding keyBlock capability to support Programmmer's Dvorak
- Useful for partial redefinitions of keys
  Such as redefining Shift, which, as per the USB spec is handled by the OS
  This means we have to careful select which USB Codes to send to the OS to simulate Shift not being pressed (while it is)
- KLL capabilities only work with numerical arguments (KLL 0.3d)
- Each key must be explicitly block for each combination (e.g. LShift and RShift are handled separately)

- Adding example configuration for the Infinity 60%
- Adding example configuration for the Infinity Ergodox
- Requires kll.git 1a078b2b940709bc3c429c952d2f0d842927394f or higher
2016-08-09 08:53:10 -07:00

45 lines
1.6 KiB
Plaintext

Name = PartialMapCapabilities;
Version = 0.4;
Author = "HaaTa (Jacob Alexander) 2014-2016";
KLL = 0.3d;
# Modified Date
Date = 2016-08-06;
# Capabilties available to the PartialMap module
layerState => Macro_layerState_capability( layer : 2, state : 1 );
layerLatch => Macro_layerLatch_capability( layer : 2 );
layerLock => Macro_layerLock_capability( layer : 2 );
layerShift => Macro_layerShift_capability( layer : 2 );
# By default, rotate to the next layer
# The current rotating layer is stored separately to the layer stack
# But still sets the layer stack using the layerLock/unlock mechanism
# Argument 0 -> Next, 1 -> Previous
layerRotate => Macro_layerRotate_capability( previous : 1 );
# Defines available to the PartialMap module
stateWordSize => StateWordSize_define;
stateWordSize = 8; # Default for now, increase to 16 or 32 for higher limits
indexWordSize => IndexWordSize_define;
indexWordSize = 16; # Default for now, increase to 32 for higher limits (8 for less resource usage)
# Block Key Capability
# Add this capability as a combo to any key you want to explicitly block another
# For example:
# To turn Shift+1 into q
# U"Shift" + U"1" : U"Q" + blockKey( 0xE1 ) + blockKey( 0x1E );
#
# 0xE1 - Left Shift (0xE5 is Right Shift)
# 0x1E - 1
#
# NOTE: KLL is limited to using numbers for key blocking instead of the symbolic names
# A future version of KLL will address this
blockKey => Macro_blockUSBKey_capability( usbCode : 1 );
# This defines the maximum number of keys that can be blocked in a single processing loop
maxBlockCount => Macro_maxBlockCount_define;
maxBlockCount = 4;