Next Previous Contents

2. 設定鍵盤

2.1 載入鍵盤表 (keytable)

你可使用兩個工具來設定你的鍵盤. 在純 Linux 環境下, 你可以用loadkeys , 而在 X11 下則用 xmodmap.

欲使用 loadkeys 指令, 你可以執行:

loadkeys /usr/lib/kbd/keytables/dk.map 
loadkeys /usr/lib/kbd/keytables/dk-latin1.map

這兩個鍵盤對應表 (keymap) 的差異在於, dk-latin1.map 可以使用死鍵, 而 dk.map 不行. 死鍵在 死鍵和重音字元 中會解釋到. loadkeys 和 keymap 都是 Linux 裡通行的 kbd-0.??.tar.gz ( ?? 代表不同版本) 包裹中的一部份.

loadkeys 通常是在系統啟動時, 從 /etc/rc.d/ 目錄下的某一個命令稿 (script) 執行的. 不同的系統和版本作法各不相同.

(註, 給非丹麥語讀者: 其他語系的支援也是以類似方法設定的, 例如西班牙語鍵盤是用 es.map .)

XFree86 從 3.1.2 以上的版本 (包括3.1.2) 通常都使用純 Linux 環境下的 keymap, 但在 X11 下你可以用 xmodmap 來改變鍵盤設定. 如果在你的 home 目錄下有一個叫 .Xmodmap 的檔案, X11 就會在啟動時自動替你執行這個指令.

若使用版本 3.2 以上的 XFree86, 在你的 /etc/XF86Config (或 /etc/X11/XF86Config) 檔案中, 應有一個Keyboard 區塊如下列 ( 如果選擇使用丹麥語的 keytable, 一個叫 XF86Setup 的程式應該會自動替你做好這件事) :

Section "Keyboard"
   Protocol        "Standard"
   XkbRules        "xfree86"
   XkbModel        "pc101"
   XkbLayout       "dk"
   XkbVariant      "nodeadkeys"
EndSection

目前只有"nodeadkeys" 是可用的鍵盤變數, 但你仍可以設定死鍵. 請參見 死鍵和重音字元 以得到更多資訊.

2.2 在 X11 下使用 AltGr 鍵

若使用版本 3.1.2 以上的 XFree86 (包括 3.1.2), 你應該修改檔案 /etc/XF86Config (或 /etc/X11/XF86Config) 並確定以下這行

RightAlt    ModeShift

出現在 Keyboard 區塊中. 通常, 你只需要在適當的地方移去註解符號即可. 在版本 3.1.2 的 XFree86 中, 你可用 AltGr 作為 RightAlt 的別鍵.

如果你有選擇丹麥語的鍵盤支援, AltGr 鍵在版本 3.2 以上的 XFree86 應會如預期地發揮作用.

在 Metro-X 下使用 {, [, ] 和 }

在 Metro-X 伺服器下, 你將無法輸入 ``{'' (<AltGr><7>), ``['' (<AltGr><8>), ``]'' (<AltGr><9>) 和 ``}'' (<AltGr><0>) 等字元. 這個 bug 會在 3.1.5 和 3.1.8 的伺服器版本中出現.

要修正這個 bug, 你必須修改檔名叫作 /usr/X11R6/lib/X11/xkb/symbols/dk 的檔案並把以下句子:

key <AE07> {    [               7,           slash      ]       };
key <AE08> {    [               8,       parenleft      ]       };
key <AE09> {    [               9,      parenright      ]       };
key <AE10> {    [               0,           equal      ]       };
改成
key <AE07> {    [               7,           slash      ],
                [       braceleft,        NoSymbol      ]       };
key <AE08> {    [               8,       parenleft      ],
                [     bracketleft,        NoSymbol      ]       };
key <AE09> {    [               9,      parenright      ],
                [    bracketright,        NoSymbol      ]       };
key <AE10> {    [               0,           equal      ],
                [      braceright,        NoSymbol      ]       };

2.3 死鍵和重音字元

所謂死鍵, 就是在按下之後, 還必須再按其他鍵才能夠作用的鍵. 你如果是在純 Linux 環境下使用 dk-latin1.map keymap, 那顎化符號 (tilde, 譯注: 例如西班牙語字母上的∼) 和變音 (umlaut, 譯注: 字母上加兩點) 都是死鍵. 另外, 在微軟視窗作業系統下, 鍵盤預設也是如此.

移除死鍵功能

啟動死鍵功能

2.4 使用 $ (錢符號), ø (oslash) 和 Ø (Oslash) 字元

$ (the dollar sign)

丹麥 keymap 中有個 bug 會使錢符號的對應鍵組合為 <Shift><4>, 而不是 <AltGr><4>. 若你有這個問題, 請查看你在啟動系統時載入的是哪個 keymap. 這項設定位於 /etc/rc.d/ 目錄下, 或者你也可以在啟動系統時注意一下. 在我的電腦上, 我的 keymap 是叫 /usr/lib/kbd/keytables/dk-latin1.map. 你可以改 keymap 檔案中的

keycode   5 = four             dollar           dollar          
這一行改成
keycode   5 = four             currency         dollar
然後如 載入 keytable 所述, (重新)載入 keytable.

貨幣符號 (dansk: ``soltegn'') 在丹麥鍵盤上的預設是 <Shift><4>.

以上的方法在 X11 和 Linux 環境下應該都能通行.

ø (oslash) 和 Ø (Oslash)

在某些比較舊的系統裡, ``ø'' and ``Ø'' 以分 (cent) 或圓 (yen)的形態出現. 在你的 keymap 檔案中, 可以找到 keycode 40 的這一行句子:

keycode  40 = cent              yen
你可以把它改為
keycode  40 = +oslash           +Ooblique

此 bug 已在 kbd-0.88.tar.gz 以上的版本中修正.

為了讓 Caps Lock 正常運作, 那個 + 符號是必要的. 在 kbd-0.90.tar.gz 或更新的版本中, ``Oslash'' 常用來當作 ``Ooblique'' 的別名.

你可以在 這裡得到更多資訊.


Next Previous Contents