How can I swap the Fn key for a Microsoft All-in-One Media keyboard?
Solution 1
Just press Fn-Capslock. And everything will be just fine.
Solution 2
The fn key is set by default. I mean if you want that fn key shouldn't be required for common functionalities of " F1, F2, F3,......." keys, follow these steps:
Go to BIOS settings
Navigate to the System Configuration option
Then navigate to the Action Keys Mode option, and then press the "enter" key to display the Enable / Disable menu
Disable that option
Related videos on Youtube
A.K.
Updated on September 18, 2022Comments
-
A.K. over 1 year
I have a Microsoft Keyboard N9Z model. I am using it on Ubuntu 14.04.
The problem is, F1, F2, F... keys are by default act as media player keys. Fn key is required to be pressed to get regular function key behavior. For example to get help you need to press Fn + F1 together.
There is a way to reverse Fn key behavior for
Apple
devices explained here, basically it suggest to issue following command:$ echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode
However there is no
hid_apple
folder (of course) in my system and I cannot create afnmode
file under/sys/module/hid_apple/parameters/
folder.Update:
Output of
lsusb
$ sudo lsusb -v -d 045e: [sudo] password for destan: Bus 001 Device 003: ID 045e:0800 Microsoft Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x045e Microsoft Corp. idProduct 0x0800 bcdDevice 9.34 iManufacturer 1 Microsoft iProduct 2 Microsoft® Nano Transceiver v2.0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 84 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 57 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 223 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 319 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 1 Device Status: 0x0000 (Bus Powered)
Is there a way to do this for any other keyboard?
-
j0h about 9 yearscheck out the shell built in bind gnu.org/software/bash/manual/html_node/Bash-Builtins.html
-
Lekensteyn about 9 yearsThe "non-apple computer keyboards" vary greatly in their features, so it is not really helpful. USB HID keyboards may have an additional method to switch the key state (which can be exposed by the driver as you demonstrate with
hid_apple
). Can you add the output of thesudo lsusb -v -d 045e:
command to your question (it will display properties for Microsoft devices, limit the output to your keyboard if you have multiple entries). -
A.K. about 9 years@Lekensteyn I've added the output. I have only one Microsoft device which is the keyboard.
-
-
Brandin about 8 yearsI think the OP is looking for the way to do this in software (i.e. to enable this mode without physically pressing any key, i.e. to enable this mode without having to remember to press Fn - Capslock (which no one in their right mind would have guessed))
-
A.K. over 6 yearsno, this only works for built-in keyboards, not for external keyboards. BIOS settings can have no effect on this case because the external keyboard itself determines the keycode that it sends.