From e88d37154f74e2bc2545514612dd20a16bb3e2f0 Mon Sep 17 00:00:00 2001 From: Adam Dinwoodie Date: Sat, 28 Sep 2024 19:38:03 +0100 Subject: [PATCH] Framework 16: use upstream libinput keyboard detection Use the upstream libinput keyboard detection quirks configuration to ensure Framework 16 laptop keyboards are detected and treated as internal keyboards. Notably, this means that non-ANSI Framework keyboards are correctly detected and treated as being internal keyboards rather than external ones. Also add a comment noting that this configuration is part of more recent upstream libinput releases, and that it can be removed once we no longer need to support older versions of libinput. That probably means once NixOS 24.05 is out of support. --- framework/16-inch/common/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/framework/16-inch/common/default.nix b/framework/16-inch/common/default.nix index 07e5162..7cef21a 100644 --- a/framework/16-inch/common/default.nix +++ b/framework/16-inch/common/default.nix @@ -30,10 +30,16 @@ # Allow `services.libinput.touchpad.disableWhileTyping` to work correctly. # Set unconditionally because libinput can also be configured dynamically via # gsettings. + # + # This is extracted from the quirks file that is in the upstream libinput + # source. Once we can assume everyone is on at least libinput 1.26.0, this + # local override file can be removed. + # https://gitlab.freedesktop.org/libinput/libinput/-/commit/566857bd98131009699c9ab6efc7af37afd43fd0 environment.etc."libinput/local-overrides.quirks".text = '' - [Serial Keyboards] + [Framework Laptop 16 Keyboard Module] + MatchName=Framework Laptop 16 Keyboard Module* MatchUdevType=keyboard - MatchName=Framework Laptop 16 Keyboard Module - ANSI Keyboard + MatchDMIModalias=dmi:*svnFramework:pnLaptop16* AttrKeyboardIntegration=internal ''; }