Disabling Flight Mode / Airplane Mode Function Key F10 - is it possible?

Hi all,

Proud new owner of a Framework 12th Gen here, with Windows 11. Very happy with the device, there’s nothing to say about my experience, because it’s been entirely trouble free and everything works as expected!

Except one thing - is there a way to disable the Flight Mode toggle that is bound to F10? I’ve tried PowerToys, and it seems to be one of few keys that can’t be detected (the others that can’t be detected being the brightness toggles).

Has anybody found a way to disable this Flight Mode / Airplane Mode button please? Is there some sort of hidden BIOS option somewhere please? :slight_smile:

JJ_JJ

1 Like

Hi amoun!

Thank for the warm welcome!

No, I don’t need to use the key only for F10 by itself, and when I need to I’m fine with pressing [fn].

I’d ideally like to remap it to some other shortcut (yet to determine what I want that key to do), or disable the ‘Flight Mode/Airplane Mode’ toggle entirely if possible - I’ve found my muscle memory keeps hitting that key wrongly as my old laptop had a different function bound there! :smile:

JJ_JJ

1 Like

Yes, I stumbled on the same few pages, and one or two pages with similar challenges with the Flight Mode button specifically. :frowning: I was hoping it might have been me missing something with my weak Google-fu!

Thank you for your help though!

1 Like

I have found “a solution” to the Problem.
For me, I want to have Pos1, End, Page Up and Page Down on the top right.

so I created a AutoHotKey script that re-maps the keys.
no the problem is that the F10 alternate Fn function is directly forwarded to the Bios making it impossible to easily remap. BUT its possible to remap F10

So here my dumd/genius Idea: completely inverse all F and Fn keys.
For example F1 maps to Volume Down and Volume Down Maps to F1.
Then use fn lock to inverse Fn key behaviour.

its not completely perfect as you need to use Fn to change screen brightness but it works

if you are like me and almost never use F-Keys, this might be a solution.

here my AutoHotKey Script:


#Persistent
#InstallKeybdHook

; KeyHistory

+F12::KeyHistory ; Press Shift + F12 to display the key history window


; Invert Fn Keys to F-keys
Volume_Mute::F1 ; F1
Volume_Down::F2 ; F2
Volume_Up::F3 ; F3
Media_Prev::F4 ; F4
Media_Play_Pause::F5 ; F5
Media_Next::F6 ; F6
; F7 
; F8
LWin::Return ; F9
; F10 (Flight Mode button has no key code)
PrintScreen::Home ; F11
Launch_Media::End ; F12

; Map Fn Key onto F-keys
F1::Volume_Mute
F2::Volume_Down
F3::Volume_Up
F4::Media_Prev
F5::Media_Play_Pause
F6::Media_Next
F7::F7
F8::F8
F9::Home
F10::End
F11::PgUp
F12::PgDn

Looks like https://keyboard.frame.work/ allows you to remap it - I just remapped the F10 key to be F10 no matter whether Fn was held or not. (For Linux users, if it errors, try changing the permissions on /dev/hidraw files.)

2 Likes

This thread is in the Framework 13 category. The 13 doesn’t have QMK/Via (keyboard.frame.work). Instead keys like Airplane mode are handled by the EC (Embedded Controller). Which is open source, so remapping should be possible by editing the firmware, but not as easy. And there is an interface to remap keys in the EC without flashing new firmware, but I don’t know the command for remapping Airplane mode.

Check my post here Changed my keyboard layout in hardware to colemak! - #20 by parawizard

I think one has to remap f10 and rfkill/airplane will follow but I could be wrong.

That’s the problem. I don’t think want to remap F10, only remap or remove airplane mode.

No go then. EC code would have to change

I have referred to this - sadly largely abortive thread - here.

1 Like

I found a way to do it on Linux with udev using this stackexchange post 20.04 - Can't remap keys on a Microsoft Keyboard with HWDB - Ask Ubuntu

/etc/udev/hwdb.d/99-no-airplane-mode.hwdb

## Input device ID: bus 0x18 vendor 0x32ac product 0x6 version 0x100
## Input device name: "FRMW0004:00 32AC:0006 Wireless Radio Control"
# If this snippet doesnt work for you, follow the steps below to create a new rule
# 1. Get the above information with `evtest` command and go through all /dev/input/eventX devices until you find yours
# 2. Press the airplane mode key and look for what event is fired. look for the value of MSC_SCAN 
# 3. Fill out below with the values discovered from evtest, on the "evdev:input" line, make sure the values are all caps and 4 characters long like in the example below
# evdev:input:b{bus}v{vendor}p{product}
evdev:input:b0018v32ACp0006*
  KEYBOARD_KEY_100c6=reserved

and then apply with

sudo systemd-hwdb update
sudo udevadm trigger
3 Likes

Thanks @aaz2234 :clap: It works!

I tried a lot of various combination but didn’t think of using the “value” of the MSC_SCAN line.

Nice.

I thought Airplane mode on the FWL13 was preforming “hardware RFkill” (using the RFkill pin on the Wifi/BT module) outside of the OS and entirely within the EC. Seems it’s just software RFkill passed through the OS. Should have checked by asking someone to post the result of rfkill list all while Airplane mode was on.

Instead of just doing =reserved you should be able to remap it to F10 or something else you may use. KEYBOARD_KEY_100c6=f10

udev/hwdb.d key remapping is useful for normally hard or annoying keys to remap. I remap several keys with it, like the rarely useful CapsLock. To retain access in the rare times you might want it, you can create a combination to activate CapsLock with Input Remapper, Kanata, KMonad, etc.