How to remap the copilot key to right control?

Hi Guys!
Do you have any idea on how to map the copilot key in some modern computers into the right control, so that I can resize the screen, fonts of terminal emulator or web browser using Copilot + '+'?
Currently I tried follow this tutorial, and I verified the change using xev, and it is actually remapped, however, the function of resizing using Copilot+ '+' is not. So I seek for help here.

System: 6.13.0-rc5-1-MANJARO
Terminal emulator: Ghostty 1.0.2-main+29c2f095
Web browser: Chromium 131.0.6778.204 Arch Linux

You need to provide a little more information for someone to be able to help.

For example you forgot to mention, what DE you use :footprints:
Best practice is “inxi” :wink: as you may know.

1 Like

thanks for reminding!
here is the overall situation of my computer:

(base) [nuvole@Nuvole ~]$ inxi -Fazz
System:
  Kernel: 6.13.0-rc5-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.13-x86_64
    root=UUID=775df364-690c-42e1-bf59-b2fdb4bdbf25 rw quiet splash apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: GNOME v: 47.2 tk: GTK v: 3.24.43 wm: gnome-shell
    tools: gsd-screensaver-proxy dm: GDM v: 47.0 Distro: Manjaro
    base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: ASUS TUF Gaming A14 FA401WV_FA401WV
    v: 1.0 serial: <superuser required>
  Mobo: ASUSTeK model: FA401WV v: 1.0 serial: <superuser required>
    uuid: <superuser required> UEFI: American Megatrends LLC. v: FA401WV.314
    date: 11/07/2024
Battery:
  ID-1: BAT0 charge: 51.6 Wh (75.1%) condition: 68.7/73.0 Wh (94.2%)
    power: 8.0 W volts: 16.1 min: 15.9 model: AS3GYRE3KC GA40347 type: Unknown
    serial: <filter> status: discharging
CPU:
  Info: model: AMD Ryzen AI 9 HX 370 w/ Radeon 890M bits: 64 type: MT MCP
    arch: N/A level: v4 note: check family: 0x1A (26) model-id: 0x24 (36)
    stepping: 0 microcode: 0xB204019
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 12 threads: 24 tpc: 2
    smt: enabled cache: L1: 960 KiB desc: d-12x48 KiB; i-12x32 KiB L2: 12 MiB
    desc: 12x1024 KiB L3: 24 MiB desc: 1x16 MiB, 1x8 MiB
  Speed (MHz): avg: 2012 min/max: 599/2000 boost: enabled scaling:
    driver: amd-pstate-epp governor: powersave cores: 1: 2012 2: 2012 3: 2012
    4: 2012 5: 2012 6: 2012 7: 2012 8: 2012 9: 2012 10: 2012 11: 2012 12: 2012
    13: 2012 14: 2012 15: 2012 16: 2012 17: 2012 18: 2012 19: 2012 20: 2012
    21: 2012 22: 2012 23: 2012 24: 2012 bogomips: 96039
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB:
    conditional; STIBP: always-on; RSB filling; PBRSB-eIBRS: Not affected;
    BHI: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Strix [Radeon 880M / 890M]
    vendor: ASUSTeK driver: amdgpu v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4, DP-5, DP-6,
    DP-7, DP-8, Writeback-1 bus-ID: 65:00.0 chip-ID: 1002:150e class-ID: 0380
    temp: 30.0 C
  Device-2: Sonix ASUS FHD webcam driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-1:2 chip-ID: 3277:0018
    class-ID: fe01 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.4
    compositor: gnome-shell driver: gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model: BOE Display NE140QDM-NX7 built: 2023
    res: 2560x1600 dpi: 215 gamma: 1.2 size: 302x188mm (11.89x7.4")
    diag: 356mm (14") ratio: 16:10 modes: max: 2560x1600 min: 640x480
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi
    wayland: drv: radeonsi x11: drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.3.3-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (radeonsi
    gfx1150 ACO DRM 3.59 6.13.0-rc5-1-MANJARO) device-ID: 1002:150e
    memory: 500 MiB unified: no display-ID: :0.0
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High Definition
    Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 65:00.1 chip-ID: 1002:1640 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD] ACP/ACP3X/ACP6x Audio Coprocessor
    vendor: ASUSTeK driver: snd_acp_pci v: kernel alternate: snd_pci_acp3x,
    snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_rpl_pci_acp6x,
    snd_pci_ps, snd_sof_amd_renoir, snd_sof_amd_rembrandt,
    snd_sof_amd_vangogh, snd_sof_amd_acp63, snd_sof_amd_acp70 pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 65:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
    vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 65:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.13.0-rc5-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    vendor: Foxconn driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s
    lanes: 1 bus-ID: 63:00.0 chip-ID: 14c3:0616 class-ID: 0280
  IF: wlp99s0 state: up mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Foxconn / Hon Hai Wireless_Device driver: btusb v: 0.8 type: USB
    rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:2 chip-ID: 0489:e0f6
    class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Drives:
  Local Storage: total: 953.87 GiB used: 32.17 GiB (3.4%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: WD PC
    SN560 SDDPNQE-1T00-1102 size: 953.87 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 74114000 temp: 25.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 217 GiB size: 212.53 GiB (97.94%) used: 32.07 GiB (15.1%)
    fs: ext4 dev: /dev/nvme0n1p9 maj-min: 259:9
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 98.4 MiB (38.4%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 31.2 C mobo: N/A gpu: amdgpu temp: 30.0 C
  Fan Speeds (rpm): cpu: 2500
Info:
  Memory: total: 16 GiB note: est. available: 14.74 GiB used: 3.55 GiB (24.1%)
  Processes: 472 Power: uptime: 22m states: freeze,mem,disk suspend: s2idle
    wakeups: 0 hibernate: platform avail: shutdown, reboot, suspend, test_resume
    image: 5.87 GiB services: gsd-power, power-profiles-daemon, upowerd
    Init: systemd v: 257 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1511 libs: 352 tools: gnome-software,pamac,yay
    pm: flatpak pkgs: 0 Compilers: clang: 18.1.8 gcc: 14.2.1 Shell: Bash
    v: 5.2.37 running-in: ghostty inxi: 3.3.36

I don’t have a copliot key to test with, however it seems you can use keyd to remap it.

https://superuser.com/questions/1849424/make-copilot-key-work-as-right-ctrl-again-under-linux
https://wiki.archlinux.org/title/Input_remap_utilities

xmodmap has been deprecated for over a decade, there are things it can’t do.

2 Likes

As a side note (i can’t help with the question), isn’t the copilot key only on arm laptops? I guess we’ll see the inxi. That might limit the available packages and methods for remapping.

No, but it may only be on laptops with AI cores. I Imagine we’ll see it on external keyboards at some point too, if not already.

1 Like

Thanks for this answer, it works well. However, it is worth noting that the copilot key send different message on different PC, so better run

sudo keyd -m

to see what happens exactly on your computer.

In my case, the configuration is:

leftshift+leftmeta = overload(control, esc)

different from what we have in the link, which is:

f23+leftshift+leftmeta = overload(control, esc)
2 Likes