下一页 上一页 目录

2. 键盘设置

2.1 加载键位表

您有两个工具可以配置您的键盘。在纯 Linux 环境下,您可以使用 loadkeys,而在 X11 环境下,您可以使用 xmodmap

要尝试 loadkeys,请输入以下两个命令之一

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

这两个键位表之间的区别在于 dk-latin1.map 启用了“死键”,而 dk.map 没有启用。“死键”在 死键和重音字符 章节中进行了解释。程序 loadkeys 和键位表是软件包 kbd-0.??.tar.gz 的一部分,该软件包(版本号 ?? 可能不同)在所有 Linux 发行版中都可用。

通常,loadkeys 在启动时从 /etc/rc.d/ 目录下的脚本之一执行。详细信息因发行版而异。

(非丹麦语读者请注意:对其他语言的支持以类似的方式启用。对于西班牙语键盘等,请使用 es.map。)

直到并包括 v3.1.2 版本的 XFree86 通常会遵循纯 Linux 使用的键位表,但您可以使用 xmodmap 修改 X11 环境下的键盘行为。如果您在家目录中有一个名为 .Xmodmap 的文件,X11 初始化过程通常会自动运行此命令。

在 XFree86 v3.2 及更高版本中,您应该在您的 /etc/XF86Config (或 /etc/X11/XF86Config) 文件中包含以下 Keyboard 部分(如果您选择丹麦语键位表,它应该由程序 XF86Setup 自动生成)

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

目前唯一可用的键盘变体是 "nodeadkeys",但死键仍然可以工作。有关此方面的更多信息,请参见 死键和重音字符 章节。

2.2 使 AltGr 键在 X11 下工作

对于直到并包括 v3.1.2 版本的 XFree86,您应该编辑文件 /etc/XF86Config (或 /etc/X11/XF86Config) 并确保以下行

RightAlt    ModeShift
出现在 Keyboard 部分中。通常,您可以通过取消注释相应的行来完成此操作。在 XFree86 v3.1.2 中,您可以使用 AltGr 作为 RightAlt 的别名。

如果您选择丹麦语键盘支持,AltGr 键应该在 XFree86 v3.2 及更高版本中按预期工作。

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

您无法在 Metro-X 服务器下输入字符 ``{'' (<AltGr><7>), ``['' (<AltGr><8>), ``]'' (<AltGr><9>) 和 ``}'' (<AltGr><0>)。此错误已在服务器的 3.1.5 和 3.1.8 版本中观察到。

要纠正此错误,您必须编辑文件 /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 死键和重音字符

死键是指在您按下另一个键之前不会输入任何内容的键。如果您使用 dk-latin1.map 键位表,波浪号和元音变音符号在纯 Linux 环境下默认是这样的。这也是 Microsoft Windows 下这些键的默认行为。

移除死键功能

启用死键功能

2.4 使 $ (美元符号)、ø (oslash) 和 Ø (Oslash) 工作

$ (美元符号)

丹麦语键位表中存在一个错误,导致默认情况下美元符号通过 <Shift><4> 而不是 <AltGr><4> 访问。如果这对您来说是一个问题,请确定您在启动时加载的键位表。您可以通过在 /etc/rc.d/ 目录中查找或简单地注意启动时发生的事情来找到它。在我的计算机上,相关的键位表称为 /usr/lib/kbd/keytables/dk-latin1.map。您可以通过将键位表文件中的以下行更改为

keycode   5 = four             dollar           dollar          
keycode   5 = four             currency         dollar
然后按照 加载键位表 章节中的描述(重新)加载键位表来解决此问题。货币(丹麦语:``soltegn'')是丹麦语键盘上默认的 <Shift><4> 字符。

这应该可以修复 X11 和纯 Linux 的问题。

ø (oslash) 和 Ø (Oslash)

在一些较旧的发行版中,``ø'' 和 ``Ø'' 显示为 cent 和 yen。在键位表文件中找到键码 40 的行,并将其从

keycode  40 = cent              yen
keycode  40 = +oslash           +Ooblique

此错误似乎已在 kbd-0.88.tar.gz 和更新版本中修复。

加号是使 Caps Lock 正常工作所必需的。``Oslash'' 可以用作 kbd-0.90.tar.gz 和更新版本中 ``Ooblique'' 的别名。

您可以在 此站点 阅读有关键盘配置的更多信息。


下一页 上一页 目录