答案1
方法一:使用文本编辑器
- 以 root身份打开该文件
/etc/default/keyboard
。例如,您可以运行sudo nano /etc/default/keyboard
XKBMODEL="pc105"
更改与您的键盘型号对应的行(完整列表是这里,从第 2 行开始)。- 用您的布局更改该行
XKBLAYOUT="en"
(大概是“bd”。参见上面的完整列表,从第 189 行开始)。 - 用你的变体更改该行
XKBVARIANT=""
(参见上面的完整列表,从第 284 行开始)。 - 保存文件(Ctrl+X并按下
Y
)。 - 使用以下命令重新启动键盘配置
sudo service keyboard-setup restart
方法二:使用keyboard-configuration
工具。
- 安装
sudo apt-get install keyboard-configuration
(你可能已经安装了) - 通过输入以下内容来运行配置程序
sudo dpkg-reconfigure keyboard-configuration
- 按照说明选择模型键盘上的布局, 这变体, ETC。
- 使用以下命令重新启动键盘配置
sudo service keyboard-setup restart
来源:改编自这里。
答案2
/usr/share/X11/xkb/symbols/bd 位置的文件包含以下内容作为最后几行:
//
// XKB symbol :: Probhat Bangla/Bengali Keyboard Layout
// Ref: www.ankurbangla.org/images/probhat_layout.png
//
xkb_symbols "probhat" {
include "in(ben_probhat)"
name[Group1]= "Bangla (Probhat)";
};
如果我理解正确的话,你不应该编辑这个文件,而应该编辑位于 /usr/share/X11/xkb/symbols/in 的文件布局。
找到以下行:
xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";
随即开始新的布局重新映射。
请注意,您不需要再次逐个重新映射每个键,因为您的语言的 unicode 已针对此布局设置!您只需重新排序键,这适用于任何语言和/或布局的语音基于 qwerty,而用户希望将其映射到标准 dvorak。
在您的情况下,文件 /usr/share/X11/xkb/symbols/in 如下所示:
xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";
key <ESC> { [ Escape ] };
// numbers
key <TLDE> { [ U200D, asciitilde ] };
key <AE01> { [ U09E7, exclam ] };
key <AE02> { [ U09E8, at ] };
key <AE03> { [ U09E9, numbersign ] };
key <AE04> { [ U09EA, U09F3 ] };
key <AE05> { [ U09EB, percent ] };
key <AE06> { [ U09EC, asciicircum ] };
key <AE07> { [ U09ED, U099E ] };
key <AE08> { [ U09EE, U09CE ] };
key <AE09> { [ U09EF, parenleft ] };
key <AE10> { [ U09E6, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <BKSP> { [ BackSpace ] };
// tab, q to ]
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AD01> { [ U09A6, U09A7 ] };
key <AD02> { [ U09C2, U098A ] };
key <AD03> { [ U09C0, U0988 ] };
key <AD04> { [ U09B0, U09DC ] };
key <AD05> { [ U099F, U09A0 ] };
key <AD06> { [ U098F, U0990 ] };
key <AD07> { [ U09C1, U0989 ] };
key <AD08> { [ U09BF, U0987 ] };
key <AD09> { [ U0993, U0994 ] };
key <AD10> { [ U09AA, U09AB ] };
key <AD11> { [ U09C7, U09C8 ] };
key <AD12> { [ U09CB, U09CC ] };
key <RTRN> { [ Return ] };
// caps, a to '
// key <CAPS> { [ Caps_Lock ] };
key <AC01> { [ U09BE, U0985 ] };
key <AC02> { [ U09B8, U09B7 ] };
key <AC03> { [ U09A1, U09A2 ] };
key <AC04> { [ U09A4, U09A5 ] };
key <AC05> { [ U0997, U0998 ] };
key <AC06> { [ U09B9, U0983 ] };
key <AC07> { [ U099C, U099D ] };
key <AC08> { [ U0995, U0996 ] };
key <AC09> { [ U09B2, U0982 ] };
key <AC10> { [ semicolon, colon ] };
key <AC11> { [ apostrophe, quotedbl ] };
// shift, z to /
// key <LFSH> { [ Shift_L ] };
key <AB01> { [ U09DF, U09AF ] };
key <AB02> { [ U09B6, U09DD ] };
key <AB03> { [ U099A, U099B ] };
key <AB04> { [ U0986, U098B ] };
key <AB05> { [ U09AC, U09AD ] };
key <AB06> { [ U09A8, U09A3 ] };
key <AB07> { [ U09AE, U0999 ] };
key <AB08> { [ comma, U09C3 ] };
key <AB09> { [ U0964, U0981 ] };
key <AB10> { [ U09CD, question ] };
key <BKSL> { [ U200C, U0965 ] };
现在你只需要像这样重新排列键的顺序:
// numbers
key <TLDE> { [ grave, asciitilde, voidsymbol, voidsymbol ] };
key <AE01> ==> key <AE01> <== NO CHANGE!
key <AE02> ==> key <AE02> <== NO CHANGE!
key <AE03> ==> key <AE03> <== NO CHANGE!
key <AE04> ==> key <AE04> <== NO CHANGE!
key <AE05> ==> key <AE05> <== NO CHANGE!
key <AE06> ==> key <AE06> <== NO CHANGE!
key <AE07> ==> key <AE07> <== NO CHANGE!
key <AE08> ==> key <AE08> <== NO CHANGE!
key <AE09> ==> key <AE09> <== NO CHANGE!
key <AE10> ==> key <AE10> <== NO CHANGE!
key <AE11> ==> key <AC11>
key <AE12> ==> key <AD12>
key <BKSP> { [ BackSpace ] };
// key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AD01> ==> key <AB02>
key <AD02> ==> key <AB08>
key <AD03> ==> key <AC03>
key <AD04> ==> key <AD09>
key <AD05> ==> key <AC08>
key <AD06> ==> key <AD05>
key <AD07> ==> key <AC04>
key <AD08> ==> key <AC05>
key <AD09> ==> key <AC02>
key <AD10> ==> key <AD04>
key <AD11> ==> key <AE11>
key <AD12> ==> key <AE12>
key <RTRN> { [ Return ] };
// key <CAPS> { [ Caps_Lock ] };
key <AC01> ==> key <AC01> <== NO CHANGE!
key <AC02> ==> key <AC10>
key <AC03> ==> key <AC06>
key <AC04> ==> key <AD06>
key <AC05> ==> key <AD07>
key <AC06> ==> key <AC07>
key <AC07> ==> key <AB03>
key <AC08> ==> key <AB04>
key <AC09> ==> key <AD10>
key <AC10> ==> key <AB01>
key <AC11> ==> key <AD01>
// key <LFSH> { [ Shift_L ] };
key <AB01> ==> key <AB10>
key <AB02> ==> key <AB05>
key <AB03> ==> key <AD08>
key <AB04> ==> key <AB09>
key <AB05> ==> key <AB06>
key <AB06> ==> key <AC09>
key <AB07> ==> key <AB07> <== NO CHANGE!
key <AB08> ==> key <AD02>
key <AB09> ==> key <AD03>
key <AB10> ==> key <AD11>
key <BKSL> { [ backslash, bar, voidsymbol, voidsymbol ] };
因此它在文件 /usr/share/X11/xkb/symbols/in 中看起来如下
xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";
key <ESC> { [ Escape ] };
// numbers
key <TLDE> { [ U200D, asciitilde ] };
key <AE01> { [ U09E7, exclam ] };
key <AE02> { [ U09E8, at ] };
key <AE03> { [ U09E9, numbersign ] };
key <AE04> { [ U09EA, U09F3 ] };
key <AE05> { [ U09EB, percent ] };
key <AE06> { [ U09EC, asciicircum ] };
key <AE07> { [ U09ED, U099E ] };
key <AE08> { [ U09EE, U09CE ] };
key <AE09> { [ U09EF, parenleft ] };
key <AE10> { [ U09E6, parenright ] };
key <AC11> { [ minus, underscore ] };
key <AD12> { [ equal, plus ] };
key <BKSP> { [ BackSpace ] };
// tab, q to ]
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AB02> { [ U09A6, U09A7 ] };
key <AB08> { [ U09C2, U098A ] };
key <AC03> { [ U09C0, U0988 ] };
key <AD09> { [ U09B0, U09DC ] };
key <AC08> { [ U099F, U09A0 ] };
key <AD05> { [ U098F, U0990 ] };
key <AC04> { [ U09C1, U0989 ] };
key <AC05> { [ U09BF, U0987 ] };
key <AC02> { [ U0993, U0994 ] };
key <AD04> { [ U09AA, U09AB ] };
key <AE11> { [ U09C7, U09C8 ] };
key <AE12> { [ U09CB, U09CC ] };
key <RTRN> { [ Return ] };
// caps, a to '
// key <CAPS> { [ Caps_Lock ] };
key <AC01> { [ U09BE, U0985 ] };
key <AC10> { [ U09B8, U09B7 ] };
key <AC06> { [ U09A1, U09A2 ] };
key <AD06> { [ U09A4, U09A5 ] };
key <AD07> { [ U0997, U0998 ] };
key <AC07> { [ U09B9, U0983 ] };
key <AB03> { [ U099C, U099D ] };
key <AB04> { [ U0995, U0996 ] };
key <AD10> { [ U09B2, U0982 ] };
key <AB01> { [ semicolon, colon ] };
key <AD01> { [ apostrophe, quotedbl ] };
// shift, z to /
// key <LFSH> { [ Shift_L ] };
key <AB10> { [ U09DF, U09AF ] };
key <AB05> { [ U09B6, U09DD ] };
key <AD08> { [ U099A, U099B ] };
key <AB09> { [ U0986, U098B ] };
key <AB06> { [ U09AC, U09AD ] };
key <AC09> { [ U09A8, U09A3 ] };
key <AB07> { [ U09AE, U0999 ] };
key <AD02> { [ comma, U09C3 ] };
key <AD03> { [ U0964, U0981 ] };
key <AD11> { [ U09CD, question ] };
key <BKSL> { [ U200C, U0965 ] };
请注意,在开始编辑之前,您必须备份原始文件布局并将其保存为 root,否则您必须从 freedesktop.org/wiki/Software/XKeyboardConfig 下载并恢复它
尽管我一点都不懂字母表,但我希望这能有所帮助,因为我已经使用 dvorak 布局很多年了,我希望有一天它可以取代 qwerty 布局,不再一直是标准 :(
答案3
您必须先安装该ibus-avro
软件包。您将找到有关如何操作的详细说明这里。您必须打开终端,执行cd /usr/src
并遵循说明。
之后,您必须按照说明从 GUI 中选择键盘布局。
答案4
所以我从来没有使用过这种语言,但是在您的设置中,您可以转到键盘单击布局设置,单击小 +,然后搜索孟加拉语,我可以看到不同类型的 probhat,您可以在里面搜索 Dvorak,但经过几次测试你应该找到你想要的。