很久以前就囤了一張 IBM Space Saver II (SS2) 鍵盤,當空間狹小時,非常好用。搬家後,就拿給 lady[1] 用。裝好 X.org 跑起 Gnome,非常好看。可是,好像這個鍵盤的 Num_Lock 有些兩光,怎麼切都關不掉,所以按 J 跑出 1,按 U 跑出 4 來。剛剛找了好久,終於找到解法:《xmodmap help》,特此記錄。

原來問題在於,這隻鍵盤的 Num_Lock 的 keycode 跟別人不同,所以必須先用 xev 抓出 SS2 Num_Lock 的 keycode,然後在啟動 X 時,用 xmodmap 修正之。所以,在我的 ~/.xsession 裡加上這段程式即可:

set xmodmap_cmd = `whereis -bq xmodmap`;
if ( $%xmodmap_cmd > 0 ) then
    # For fixing up strange keycode for NumLock on IBM SpaceSaver II keyboard
    # @see http://www.webservertalk.com/message2042369.html
    "$xmodmap_cmd" -e 'keycode 77 = Num_Lock';
endif

搞定收工。


  1. 我的 FreeBSD Server 名稱。