wayland xmodmap 鍵盤按鍵對映失效,轉 evremap。wps fcitx5 輸入法失效

沙滩炒花蛤發表於2024-04-12

wayland xmodmap 鍵盤按鍵對映失效,轉 evremap。wps fcitx5 輸入法失效

  • date: 2024-04-12

Plasma 升級時自動的把 x11 換成了 wayland,導致 xmodmap 的對映失效了

下面確認確實是 wayland

$ echo "$XDG_SESSION_TYPE"
wayland

$ env | grep -E -i 'x11|xorg|wayland'
XDG_SESSION_TYPE=wayland
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-kwin_wayland.service/memory.pressure
WAYLAND_DISPLAY=wayland-0
QT_WAYLAND_RECONNECT=1

之前修改按鍵使用 Xmodmap, KDE 把 x 升級到 Wayland 後,修改按鍵的方式就失效了,stackexchange 說由於配置 xkb 有點複雜(裡面也有基本教程),回答裡推薦用 Input Remapper 這個軟體

KDE Plasma 的 系統設定/輸入輸出-鍵盤/鍵盤-高階,可以勾選一些特殊按鍵的設定,比如大寫按鍵設定為 ctrl,不過沒有直接設定按鍵的,透過觀察發現其對應的配置檔案是 ~/.config/kxkbrc,幫助裡說“creating custom keyboard layouts for X11 using XKB.”,關鍵現在不是 X11 了啊。手動嘗試修改這個配置檔案也沒成功把 alt_r 對映為 w

論壇裡的Remapping keys in Linux 2022有這兩方案:xmodmap、gnome setting-keyboard。嘗試 input-remapper,下載開啟了GUI不知道咋用

evremap

evremap 比 input-remapper 少了 GUI,好在文件還是簡單,可以檢視裝置列表和按鍵列表(對於w按鍵失效的人來說複製w比輸入w更容易)。相比於 xmodmap,evremap 還可以指定裝置。evremap 打包的老哥說自己不用這個了,ta 轉用 kmonad,我沒看懂怎麼配置 kmonad

$ mkdir ~/.config/evremap
$ nano ~/.config/evremap/remap.toml # 我的配置就是把筆記本鍵盤的 alt_r 對映為 w
$ cat ~/.config/evremap/remap.toml
# The name of the device to remap.
# Run `sudo evremap list-devices` to see the devices available
device_name = "AT Translated Set 2 keyboard"

# Run `evremap list-keys` to see the keys available
[[remap]]
input = ["KEY_RIGHTALT"]
output = ["KEY_W"]

# 執行測試一下,ctrl+c 退出測試
$ evremap remap ~/.config/evremap/remap.toml

# yay 安裝時已經將 evremap.service 複製好了:  /usr/lib/systemd/system/evremap.service
# 檢視服務檔案可知,其從 /etc/evremap.toml 載入配置,下面將配置檔案移動一下然後開啟服務
sudo mv ~/.config/evremap/remap.toml /etc/evremap.toml
sudo systemctl enable evremap.service --now

Refer

  • Input remap utilities - Arch wiki
  • 正確地在 wayland 下配置 KDE 的 Fcitx5:不是很信服,還是得看 Using Fcitx 5 on Wayland
  • 在KDE Wayland的Fcitx5建議設定下修復WPS Office的輸入法問題 wszqkzqk on March 9, 2024:修改 .desktop 檔案確實有效。在選單欄編輯wps相關的應用程式,在應用程式的指令前邊加上 env Exec=env XMODIFIERS=@im=fcitx GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus ,和後邊的 /usr/bin 要用空格分開,然後 kde 會自動的把修改後的 .desktop 檔案儲存到 ~/.local/share/applicwpations/

    單獨給WPS Office新增環境變數

相關文章