Remap Infinix Air Pro+ Copilot Key in Linux

Since I’m moving to Linux, my Copilot key becomes useless. Let me rephrase that! Even when I was using Windows, I never using this Copilot shortcut key in my keyboard 😬. Fortunately, using Linux I can remap this key for something else more useful. Requirements A laptop (I’m using Infinix Air Pro+) with a working keyboard. keyd Finding what this Copilot key do Open your favorite terminal and execute sudo keyd monitor. This command will print what events are triggered when a particular key is pressed. Press the Copilot key and read the output. In my laptop, it print out this: AT Translated Set 2 keyboard 0001:0001:70533846 leftmeta down AT Translated Set 2 keyboard 0001:0001:70533846 leftshift down AT Translated Set 2 keyboard 0001:0001:70533846 f23 down Now I know that my copilot key triggers leftmeta, leftshift, and f23. It’s seem legit combination of modifier keys and a function key. But unfortunately when I tried to use it in my desktop environment (I use KDE) to bind a shortcut, it only detect the modifier meta and shift. keyd for the rescue Edit /etc/keyd/default.conf file and I added these lines: ...

March 1, 2025

Fix Infinix Air Pro+ Quad Speakers in Linux

I installed Linux (EndeavourOS) in my Infinix Air Pro+ last week and noticed that the sound coming from the speakers was bad. This laptops has 4 speakers, hence only 2 of them are working. This is how I fix this issue. Check ALSA for Hidden Speakers $ cat /proc/asound/card0/codec* | grep -i "node" State of AFG node 0x01: Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out Node 0x16 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x17 [Pin Complex] wcaps 0x40050c: Mono Amp-Out Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out Node 0x19 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out Node 0x1a [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1d [Pin Complex] wcaps 0x400400: Mono Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In State of AFG node 0x01: Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital Node 0x04 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x05 [Audio Output] wcaps 0x6611: 8-Channels Digital Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x07 [Audio Output] wcaps 0x6611: 8-Channels Digital Node 0x08 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x09 [Audio Output] wcaps 0x6611: 8-Channels Digital Node 0x0a [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x0b [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x0c [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x0d [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x0e [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Node 0x0f [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP Looking at that output, it seems that this laptop has several nodes that could be an audio output. They are nodes with Stereo Amp-In Amp-Out in it’s description. Filtering the result with that, I got: ...

February 23, 2025

Fix Infinix Air Pro+ Screen Color

I have Infinix Air Pro+ and I use it for my work. I can say it is a good laptop coding mainly because it has 2.5k OLED 16:10 screen. But I found a problem with its screen color. When the screen brightness is below about 50% and the screen turned off (to save power, not necessarily going system sleep/suspend) and turns back on, the color looks washed out. First time I noticed this issue is because I was using a pitch black wallpaper image (so I can flex my OLED display). After my screen turns back on, my wallpaper’s black color becomes grainy, washed out, as its doesn’t have pitch black color anymore. Then I noticed, the color will be fixed after I crank the brightness to above 50%. Turning the brightness down again after this still gives me correct black level. ...

February 21, 2025