summaryrefslogtreecommitdiff
path: root/modules/system
diff options
context:
space:
mode:
authorMaxime Daffis <maxime.daffis@gmail.com>2024-07-02 14:22:37 +0200
committerMaxime Daffis <maxime.daffis@gmail.com>2024-08-05 13:00:32 +0200
commit636d1a09d8a4fc2306aee0c8a33dac21bd9e201a (patch)
treebdf0349b0a7937041fa601db3e997d27e21f5de4 /modules/system
parentf7142b8024d6b70c66fd646e1d099d3aa5bfec49 (diff)
(feature) Add swapLeftCtrlAndFn
Use this and never find yourself again hitting fn because of muscle memory! (you can even physically swap the keycaps, at least on M series) Keycodes have been pulled from https://hidutil-generator.netlify.app/ and the hex value has been converted to a base 10 int.
Diffstat (limited to 'modules/system')
-rw-r--r--modules/system/keyboard.nix14
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/system/keyboard.nix b/modules/system/keyboard.nix
index 01e2525..f4f6406 100644
--- a/modules/system/keyboard.nix
+++ b/modules/system/keyboard.nix
@@ -38,6 +38,12 @@ in
description = "Whether to swap the left Command key and left Alt key.";
};
+ system.keyboard.swapLeftCtrlAndFn = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Whether to swap the left Control key and Fn (Globe) key.";
+ };
+
system.keyboard.userKeyMapping = mkOption {
internal = true;
type = types.listOf (types.attrsOf types.int);
@@ -66,6 +72,14 @@ in
HIDKeyboardModifierMappingSrc = 30064771298;
HIDKeyboardModifierMappingDst = 30064771299;
})
+ (mkIf cfg.swapLeftCtrlAndFn {
+ HIDKeyboardModifierMappingSrc = 30064771296;
+ HIDKeyboardModifierMappingDst = 1095216660483;
+ })
+ (mkIf cfg.swapLeftCtrlAndFn {
+ HIDKeyboardModifierMappingSrc = 1095216660483;
+ HIDKeyboardModifierMappingDst = 30064771296;
+ })
];
system.activationScripts.keyboard.text = optionalString cfg.enableKeyMapping ''