Sun Type 6 鍵盤怪異

Sun Type 6 鍵盤怪異

這個可能性不大,因為我懷疑市場上是否有很多 Sun Microsystems Type 6 鍵盤,而且用戶可能更少,但情況就是這樣。

我已經使用這個鍵盤很多年了,音量增大和音量減小鍵突然停止正常工作。我已經更換過鍵盤(我有幾個這樣的鍵盤),我或多或少確定這不是鍵盤本身的問題。

這個問題是當按下Volume UpVolume Down鍵時,會產生兩個按鍵按下和兩次釋放事件:

key press   122 [XF86AudioLowerVolume]
key press   123 [XF86AudioRaiseVolume]
key release 122 [XF86AudioLowerVolume]
key release 123 [XF86AudioRaiseVolume]

其他一些特殊鍵似乎也表現出奇怪的行為。

例如,按下Page Up會產生:

key press   86 [KP_Add]
key press   112 [Prior]
key release 86 [KP_Add]
key release 112 [Prior]

並按下Page Down生成:

key press   117 [Next]
key press   104 [KP_Enter]
key release 117 [Next]
key release 104 [KP_Enter]

用 Sun Microsystems Type 7 替換鍵盤可以產生正確的擊鍵,如果我不能解決這個問題,我懷疑我將不得不硬著頭皮切換鍵盤。我寧願不這樣做,因為我喜歡這個鍵盤的「感覺」(這就是為什麼我有機會買了五個鍵盤)。

如果相關的話,我使用以下小腳本來捕獲擊鍵,該腳本是我從 Stack Overflow 系列網站之一的其他地方摘來的:

xinput list | \
    grep -Po 'id=\K\d+(?=.*slave\s*keyboard)' | \
    xargs -P0 -n1 xinput test | \
    awk 'BEGIN{while (("xmodmap -pke" | getline) > 0) \
        k[$2]=$4} {print $0 "[" k[$NF] "]"}'

evtest產生類似的訊息。例如,按下該Volume Up鍵會產生:

Event: time 1559427389.998130, -------------- SYN_REPORT ------------
Event: time 1559427392.390430, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70081
Event: time 1559427392.390430, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 1559427392.390430, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70080
Event: time 1559427392.390430, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 1559427392.390430, -------------- SYN_REPORT ------------
Event: time 1559427392.438435, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70081
Event: time 1559427392.438435, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 1559427392.438435, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70080
Event: time 1559427392.438435, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 1559427392.438435, -------------- SYN_REPORT ------------

如果相關的話,我正在運行 Ubuntu 19.04,我今天剛從 18.04 LTE 升級到它,希望能夠解決這個問題 - 顯然沒有。

我的猜測(誠然是一個瘋狂的猜測)是,一些影響 USB 和/或 HID 驅動程式的配置已經更改或更新,但我目前無法確定可能是什麼或在哪裡。

如果我應該運行其他一些診斷程序,我將不勝感激。

非常感謝線索。

後續行動(2019 年 6 月 2 日):

我剛剛在另一台機器上全新安裝的 Ubuntu 19.04 上測試了鍵盤,我得到了相同的故障模式。這是使用兩個不同的 Type 6 鍵盤,所以此時我相當確信這是某種驅動程式問題,而不是鍵盤本身的機械問題或特定機器上 Ubuntu 的特定安裝問題。

第二次追蹤(2019年7月29日):

在我處理另一個專案時讓這個問題閒置了幾週後,我終於抽出時間重新審視這個問題,你瞧,問題似乎已經解決了。

在六月初的原始發布和今天(接近七月底)之間的時間間隔中,當然有一些內核更新,我已經盡職盡責地安裝了這些更新,所以也許在此期間修復或更改了某些內容。

我不太喜歡「自行解決」的問題,但在這種情況下,我會盡力而為。

相關內容