Added Modules so the Surface Laptop 5 built-in Keyboard Works at Login #2363
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On my Surface Laptop 5, the built-in keyboard doesn’t work at the login screen, but it starts working normally after logging in. I added some modules to '/etc/mkinitcpio.conf' and it fixed the issue for me. I also found a few people on the Omarchy Discord reporting the same issue, so this seems reproducible on other Surface 5 systems.
Steps to reproduce the original problem:
1. Boot Omarchy on a Surface Laptop 5.
2. At the password login screen, the keyboard doesn’t respond.
3. After logging in (using an external keyboard), the built-in keyboard works normally.
Here’s the module list that worked for my setup:
MODULES=(btrfs crc-itu-t usbhid hid-generic pinctrl_tigerlake intel_lpss_pci
8250_dw surface_gpe surface_hotplug surface_aggregator_registry
surface_aggregator_hub surface_aggregator surface_hid_core surface_hid
surface_kbd xhci_hcd hid_multitouch)
After looking through the Omarchy repository, I noticed there’s a similar hardware-specific fix for MacBook SPI keyboards. I used that script as a reference and, with some AI assistance, created a matching patch for the Surface Laptop 5.
The patch is implemented as:
omarchy/install/config/hardware/fix-surface5-keyboard.sh
It mirrors the style of fix-apple-spi-keyboard.sh and just writes a mkinitcpio drop-in file.