Hello new to Nix and this forum ! :
I have a Drevo Seer Pro about two days ago when I press Fn plus any of the number row instead of getting the F keys ( F1 to F12 ) I am getting for example “Increase and Decrease Brightness”.
A - Things to note :
A1 - Fn + other keys work as intended.
A2 - If I plug the very same keyboard to Windows it works as intended for F1 to F12.
A3 - If I plug another keyboard to the machine ( though different model ) it works as intended.
A4 - Using no drivers or special software in either the NixOS or Win PCs.
B - Things I tried :
B1 - It seems this keyboard has no Fn Lock.
B2 - Checked the notebook keyboard for Num Lock, and its BIOS options.
B3 - Tried other USB slots and with another cable.
B4 - Checked GNOME config through its UI.
B5 - Reviewed configuration.nix.
B6 - Turning on and off different Accessibility Options
B7 - Resenting the keyboard ( Fn + Space for 3s )
B8 - Turning the wireless keyboard mode on and off
B9 - Using Mac mode, Windows mode but for some reason I can’t seam to be able to use Bluetooth mode ( maybe coz I removed its battery since it was dead )
C - Things I was experimenting on the previous days :
C1 - Installing NVidia drivers.
C2 - Using ADB and scrcpy ( Android Debug Bridge, and scrcpy is an Android Mirroring script )
C3 - Using Accessibility Options, On Screen Keyboard
C4 - Using On Screen Keyboard with scrcpy
C5 - Asigning a keybind to On Screen Keyboard ( Shift + Alt + Ctrl + Supper + K, which I removed afterwards )
Some Data :
PC = ASUSTeK COMPUTER INC. N56VB
OS = ixOS 23.05 (Stoat)
OS.build = 23.05.5533.70bdadeb94ff
GNOME.ver = 44.2
Using X11 and NVidia Propiertary Drivers
Keyboard = Drevo Seer Pro
Keyboard.note = I removed its dead battery
I can not say for certain but it feels like something related to the On Screen Keyboard but again no problems with other keyboards, its quite a small mystery that’s driving me nuts ( No F2 to rename ! ).
Any help appreciated, THANKS FOR YOUR TIME and if I should post any kind of files let me know, noob here.
# configuration.nix : just the locales part
# Set your time zone.
time.timeZone = "America/Argentina/Buenos_Aires";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_NZ.UTF-8";
LC_IDENTIFICATION = "en_NZ.UTF-8";
LC_MEASUREMENT = "en_NZ.UTF-8";
LC_MONETARY = "en_NZ.UTF-8";
LC_NAME = "en_NZ.UTF-8";
LC_NUMERIC = "en_NZ.UTF-8";
LC_PAPER = "en_NZ.UTF-8";
LC_TELEPHONE = "en_NZ.UTF-8";
LC_TIME = "en_NZ.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Configure console keymap
console.keyMap = "us";
B10 - I just tried to enter the notebook’s BIOS using the keyboard and I could ! that means that Fn + 2 = F2 but then Doesn’t this mean it is an OS problem?
Q1 - Where should I even start looking for?
Q2 - Could it be related to the On Screen Keyboard ( it’s off ) or scrcpy ( as if the PC is holding the keyboard in some kind of Android mode ) ?
Attaching my /etc/X11 conf files :
00-keyboard.conf
Section "InputClass"
Identifier "Keyboard catchall"
MatchIsKeyboard "on"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
Option "XkbVariant" ""
EndSection
10-evdev.conf
#
# Catch-all evdev loader for udev-based systems
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.
Section "InputClass"
Identifier "evdev pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
40-libinput.conf
# Match on all types of devices but joysticks
#
# If you want to configure your devices, do not copy this file.
# Instead, use a config snippet that contains something like this:
#
# Section "InputClass"
# Identifier "something or other"
# MatchDriver "libinput"
#
# MatchIsTouchpad "on"
# ... other Match directives ...
# Option "someoption" "value"
# EndSection
#
# This applies the option any libinput device also matched by the other
# directives. See the xorg.conf(5) man page for more info on
# matching devices.
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
setxkbmap -print -verbose 10
symbols: pc+us+us:2+inet(evdev)+capslock(hyper)+terminate(ctrl_alt_bksp)+shift(both_capslock)
When I browse to :
echo "$(nix-build --no-out-link '<nixpkgs>' -A xorg.xkeyboardconfig)/etc/X11/xkb/"
and check the …/symbols/inet file I see some weird things that I don’t want in my keyboard, like media keys and power, I hope I am not mistaken but I can already use them using the Fn modifier or Q3 - Do I need that definition?
Q4 - I have no idea what us:2 is ( I believe it is a variation but what does that variation offers is what I don’t know )
Q5 - When I use GitHub - vgresak/keyboard-layout-editor: Keyboard layout editor for XKB plus nix-shell -p xkblayout-state I see that the layout that I am using is really similar to what is described in the …/symbols/us file at the very bottom, I have no idea why that is selected or how to change it.
I am checking about XKB specification, NixOS Manual and other things I believe I am getting close to a solution but any pointers are appreciated.
P.D. :
setxkbmap -query
rules: evdev