最近買了個羅技G102二代的電競滑鼠給Linux電腦用,這個滑鼠接上去就能用,不用特殊驅動。
這個滑鼠還有切換DPI、顯示彩色LED、自訂鍵位的功能。可以透過電腦軟體自訂功能。
但果不其然的,官方程式Logitech G Hub只支援Windows和macOS系統,Linux需要用第三方開發的程式才能自訂功能。這裡我採用的方案是ratbagd + Piper。
ratbagd是D-Bus常駐程式,Piper是圖形控制前端。
引用哈梅爾的吹笛人的典故,透過老鼠袋(rat bag d,引申為討厭的人),搭配吹笛人(Piper),就可以指揮這群滑鼠。
ratbagd支援許多大廠牌的滑鼠。對羅技滑鼠的用戶來說,ratbagd可以作為Logitech G Hub的開源替代品。其他類似的軟體還有「Solaar」和「LogiOps」和「Input Remapper」。
1. 安裝ratbagd與Piper#
ratbagd支援的滑鼠廠牌請看Github Wiki。許多羅技的知名系列都是支援的。
- ratbagd由libratbag專案提供。因為需要跟硬體溝通,因此最好用系統套件管理器安裝。以Ubuntu 24.04來說,可以直接從套件庫安裝ratbagd:
sudo apt install ratbagd- 確認ratbagd服務是否有啟動
sudo systemctl enable --now ratbagd
sudo systemctl status ratbagd- 使用
ratbagctl list指令看是否能偵測到滑鼠型號
# 範例輸出
warbling-mara: Logitech G102 LIGHTSYNC Gaming Mouse- 使用
ratbagctl <滑鼠名稱> info指令,列出目前滑鼠的資訊
# 範例輸出
warbling-mara - Logitech G102 LIGHTSYNC Gaming Mouse
Model: usb:046d:c092:0
Device Type: Mouse
Number of Buttons: 6
Number of Leds: 1
Number of Profiles: 1
Profile 0: (active)
Name: n/a
Report Rate: 1000Hz
Resolutions:
0: 400dpi
1: 800dpi (active) (default)
2: 1600dpi
3: 3200dpi
4: 200dpi (disabled)
Button: 0 is mapped to 'button 1'
Button: 1 is mapped to 'button 2'
Button: 2 is mapped to 'button 3'
Button: 3 is mapped to macro ''
Button: 4 is mapped to macro ''
Button: 5 is mapped to none
LED: 0, depth: rgb, mode: cycle, duration: 1700, brightness: 119- 接著安裝Piper,這個程式只是圖形前端,所以可以用Flatpak安裝:
flatpak install flathub org.freedesktop.Piper2. 用Piper自訂滑鼠功能#
ratbagd提供命令行設定工具ratbagctl,不過我們大部分時候用Piper圖形界面就可以完成設定了。Piper所做出的變更只會儲存在Linux電腦端,因此,滑鼠接上後會自動透過ratbagd套用它對應的行為。你自訂的鍵位可能不會儲存在滑鼠裡面,換電腦要重新設定。
第一個解析度面板可以手動切換DPI,點一下set active再按套用。這裡的DPI切換後若手感還是怪怪的,你可能要到Linux桌面環境的系統設定去看一下「滑鼠速度」是否正常。
LED燈自訂,就選取顏色,設定要呼吸燈循環顯示或者單色。這要看你的滑鼠支援哪些顏色。
按鈕面板就是自訂滑鼠的按鍵功能了。若要設定什麼都不做,就設定為Disable。
如果這裡沒有你想要的功能,但你想要設定滑鼠鍵觸發其他鍵盤事件的話,滑到最下面,傳送按鍵,設定要觸發的按鍵綁定(巨集)。例如我這裡把側邊鍵改為音量鍵(按鍵代碼為KEY_VOLUMEUP與KEY_VOLUMEDOWN)。
但是我發現ratbagd有些按鍵綁定了之後還是沒反應,可能是bug?用ratbagctl info指令發現,我的滑鼠的按鍵綁定多個鍵。需要手動用ratbagctl <滑鼠名稱> button <數字> action set macro "電腦按鍵代碼"指令設定才有效。
想確認電腦按鍵代碼,使用evtest這個工具確認。


