我最近在联想 X220 笔记本电脑上安装了日文布局键盘。使用终端和 xmonad 作为窗口管理器,我首先做了:
$ sudo dpkg-重新配置键盘配置
我选择了 Sun 7 日文 106 键键盘,使用日文 OADG-109A 布局,因为它与我安装的板上的按键布局相匹配。
我重新启动计算机,布局是正确的,但是我在切换模式时遇到了困难。在尝试了所有其他布局选项后,我回到了 OADG-109A 布局,并直接修改了 /usr/share/X11/xkb/symbols/jp 文件;我为该文件中的第三个块添加了平假名 unicode 数字,以便我可以按右 alt 键并生成打印在键上的平假名。
这种方法使用 18.04 是成功的。
从那时起,我已经升级到 20.04,现在我的布局工作正常,在启动时输入加密密码,登录后,但奇怪的是在登录提示符下没有。
我对 /usr/share/X11/xkb/symbols/jp 所做的更改在升级后没有保留。于是,我再次进入了它们。但是,这一次,更改文件没有任何效果。
登录 gnome 后,我尝试更改键盘布局,并且能够使用 MOZC 成功生成平假名,或者是 MOCZ 布局,但是,我更喜欢使用正确的 alt + 键功能。
目前,/etc/default/keyboard 的内容是:
XKBLAYOUT="jp" BACKSPACE="guess" XKBVARIANT="OADG109A" XKBMODEL="sun_type7_jp_usb" XKBOPTIONS="compose:menu,terminate:ctrl_alt_bksp"
如您所见,我之前选择最多的是使用默认的 Altgr 作为键盘。将其更改为正确的 alt 键没有任何效果,无论是正面的还是负面的。
以防万一,这里是我编辑的“jp”符号文件的内容。您可以看到我在文件顶部输入的各种 U###:(再次@ /usr/share/X11/xkb/symbols/jp)
// 日文 106 键键盘的符号(由 [email protected] 提供)。
默认部分字母数字键 xkb_symbols "106" {
include "jp(common)"
name[Group1]= "Japanese";
key <AE10> { [ 0, asciitilde, U308F, U3092 ] };
key <AE13> { [ backslash, bar ] };
};
hidden partial alphanumeric_keys xkb_symbols "common" { // jp 106/109A 布局的“通用”键。
key <HZTG> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
};
key <AE01> { [ 1, exclam, U306C ] };
key <AE02> { [ 2, quotedbl, U3075 ] };
key <AE03> { [ 3, numbersign, U3042, U3041 ] };
key <AE04> { [ 4, dollar, U3046, U3045 ] };
key <AE05> { [ 5, percent, U3048, U3047 ] };
key <AE06> { [ 6, ampersand, U304A, U3049 ] };
key <AE07> { [ 7, apostrophe, U3084, U3083 ] };
key <AE08> { [ 8, parenleft, U3086, U3085 ] };
key <AE09> { [ 9, parenright, U3088, U3087 ] };
key <AE11> { [ minus, equal, U307B ] };
key <AE12> { [ asciicircum, asciitilde, U3078] };
key <AD01> { [ q, Q, U305F ] };
key <AD02> { [ w, W, U3066 ] };
key <AD03> { [ e, E, U3044, U3043 ] };
key <AD04> { [ r, R, U3059 ] };
key <AD05> { [ t, T, U3095 ] };
key <AD06> { [ y, Y, U3093 ] };
key <AD07> { [ u, U, U306A ] };
key <AD08> { [ i, I, U306B ] };
key <AD09> { [ o, O, U3089 ] };
key <AD10> { [ p, P, U305B ] };
key <AD11> { [ at, grave, U3099 ] };
key <AD12> { [ bracketleft, braceleft, U309A ] };
key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
key <AC01> { [ a, A, U3061 ] };
key <AC02> { [ s, S, U3068 ] };
key <AC03> { [ d, D, U3057 ] };
key <AC04> { [ f, F, U306F ] };
key <AC05> { [ g, G, U304D ] };
key <AC06> { [ h, H, U304F ] };
key <AC07> { [ j, J, U307E ] };
key <AC08> { [ k, K, U306E ] };
key <AC09> { [ l, L, U308A ] };
key <AC10> { [ semicolon, plus, U308C ] };
key <AC11> { [ colon, asterisk, U3096 ] };
key <AC12> { [ bracketright, braceright, U3080 ] };
key <AB01> { [ z, Z, U3064 ] };
key <AB02> { [ x, X, U3063 ] };
key <AB03> { [ c, C, U305D ] };
key <AB04> { [ v, V, U3072 ] };
key <AB05> { [ b, B, U3053 ] };
key <AB06> { [ n, N, U307F ] };
key <AB07> { [ m, M, U3082 ] };
key <AB08> { [ comma, less, U306D ] };
key <AB09> { [ period, greater, U308B ] };
key <AB10> { [ slash, question, U3081 ] };
key <AB11> { [ backslash, underscore, U308D] };
key <LCTL> { [ Control_L, ] };
key <NFER> { [ Muhenkan ] };
key <XFER> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Henkan, Mode_switch ]
};
key <HKTG> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Hiragana_Katakana, Romaji ]
};
key <EISU> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Eisu_toggle ]
};
key <KANA> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Hiragana_Katakana ]
};
key <PRSC> {
type[Group1]= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Execute ]
};
};
部分字母数字键 xkb_symbols "henkan" { key { type[Group1]="PC_ALT_LEVEL2", symbols[Group1]= [ Henkan, Mode_switch ] }; };
部分字母数字键 xkb_symbols "OADG109A" {
include "jp(common)"
name[Group1]= "Japanese (OADG 109A)";
key <AE10> { [ 0 ] };
key <AE13> { [ yen, bar ] };
};
// 86 个键与假名映射部分字母数字键 xkb_symbols "kana86" {
include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(numoperdecsep)"
include "altwin(menu)"
include "jp(kana)"
include "jp(OADG109A)"
name[Group1]= "Japanese (Kana 86)";
key <ESC> { [ Escape ] };
key <NMLK> { [ Num_Lock ] };
key <BKSP> { [ BackSpace ] };
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <RTRN> { [ Return ] };
key <LFSH> { [ Shift_L ] };
key <RTSH> { [ Shift_R ] };
key <LWIN> { [ Super_L ] };
key <LALT> { [ Alt_L ] };
key <SPCE> { [ space ] };
key <RALT> { [ Alt_R ] };
// For compatibility with other keyboards connected at the same time:
key <RWIN> { [ Super_R ] };
key <RCTL> { [ Control_R ] };
};
部分字母数字键 xkb_symbols “假名” {
name[Group1]= "Japanese (Kana)";
key <HZTG> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
};
key <AE01> { [ kana_NU ] };
key <AE02> { [ kana_FU ] };
key <AE03> { [ kana_A, kana_a ] };
key <AE04> { [ kana_U, kana_u ] };
key <AE05> { [ kana_E, kana_e ] };
key <AE06> { [ kana_O, kana_o ] };
key <AE07> { [ kana_YA, kana_ya ] };
key <AE08> { [ kana_YU, kana_yu ] };
key <AE09> { [ kana_YO, kana_yo ] };
key <AE10> { [ kana_WA, kana_WO ] };
key <AE11> { [ kana_HO ] };
key <AE12> { [ kana_HE ] };
key <AE13> { [ prolongedsound ] };
key <AD01> { [ kana_TA ] };
key <AD02> { [ kana_TE ] };
key <AD03> { [ kana_I, kana_i ] };
key <AD04> { [ kana_SU ] };
key <AD05> { [ kana_KA ] };
key <AD06> { [ kana_N ] };
key <AD07> { [ kana_NA ] };
key <AD08> { [ kana_NI ] };
key <AD09> { [ kana_RA ] };
key <AD10> { [ kana_SE ] };
key <AD11> { [ voicedsound ] };
key <AD12> { [ semivoicedsound, kana_openingbracket ] };
key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
key <AC01> { [ kana_CHI ] };
key <AC02> { [ kana_TO ] };
key <AC03> { [ kana_SHI ] };
key <AC04> { [ kana_HA ] };
key <AC05> { [ kana_KI ] };
key <AC06> { [ kana_KU ] };
key <AC07> { [ kana_MA ] };
key <AC08> { [ kana_NO ] };
key <AC09> { [ kana_RI ] };
key <AC10> { [ kana_RE ] };
key <AC11> { [ kana_KE ] };
key <AC12> { [ kana_MU, kana_closingbracket ] };
key <AB01> { [ kana_TSU, kana_tsu ] };
key <AB02> { [ kana_SA ] };
key <AB03> { [ kana_SO ] };
key <AB04> { [ kana_HI ] };
key <AB05> { [ kana_KO ] };
key <AB06> { [ kana_MI ] };
key <AB07> { [ kana_MO ] };
key <AB08> { [ kana_NE, kana_comma ] };
key <AB09> { [ kana_RU, kana_fullstop ] };
key <AB10> { [ kana_ME, kana_middledot ] };
key <AB11> { [ kana_RO ] };
key <LCTL> { [ Control_L ] };
key <NFER> { [ Muhenkan ] };
key <XFER> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Henkan, Mode_switch ]
};
key <HKTG> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1]= [ Hiragana_Katakana, Romaji ]
};
key <PRSC> {
type[Group1]= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Execute ]
};
};
部分 alphanumeric_keys xkb_symbols "nicola_f_bs" { key { type="", symbols[Group1]= [ bracketright, braright ] }; 键 { [ 0, 下划线 ] }; 键 { [ 冒号,星号 ] }; 键 { [ 退格键,退格键 ] }; 键 { [ 转义 ] }; 键 { [ 在,坟墓 ] }; };
// 复制自 macintosh_vndr/jp partial alphanumeric_keys xkb_symbols "mac" { include "jp(kana)" name[Group1]= "Japanese (Macintosh)";
replace key <CAPS> { [ Caps_Lock ] };
};
部分字母数字键 xkb_symbols "hztg_escape" { 替换键 { [ Escape ] }; };
部分字母数字键 xkb_symbols "dvorak" { 包括 "jp(OADG109A)" name[Group1]="Japanese (Dvorak)";
key <AE11> { [ at, grave ] };
key <AD01> { [ colon, asterisk ] };
key <AD02> { [ comma, less ] };
key <AD03> { [ period, greater ] };
key <AD04> { [ p, P ] };
key <AD05> { [ y, Y ] };
key <AD06> { [ f, F ] };
key <AD07> { [ g, G ] };
key <AD08> { [ c, C ] };
key <AD09> { [ r, R ] };
key <AD10> { [ l, L ] };
key <AD11> { [ slash, question ] };
key <AC02> { [ o, O ] };
key <AC03> { [ e, E ] };
key <AC04> { [ u, U ] };
key <AC05> { [ i, I ] };
key <AC06> { [ d, D ] };
key <AC07> { [ h, H ] };
key <AC08> { [ t, T ] };
key <AC09> { [ n, N ] };
key <AC10> { [ s, S ] };
key <AC11> { [ minus, equal ] };
key <AB01> { [ semicolon, plus ] };
key <AB02> { [ q, Q ] };
key <AB03> { [ j, J ] };
key <AB04> { [ k, K ] };
key <AB05> { [ x, X ] };
key <AB06> { [ b, B ] };
key <AB08> { [ w, W ] };
key <AB09> { [ v, V ] };
key <AB10> { [ z, Z ] };
};
// 附加:
部分字母数字键 xkb_symbols "sun_type6_suncompat" { 包括 "sun_vndr/jp(sun_type6_suncompat)" };
部分字母数字键 xkb_symbols "sun_type6" { 包括 "sun_vndr/jp(sun_type6)" };
部分字母数字键 xkb_symbols "sun_type7_suncompat" { 包括 "sun_vndr/jp(sun_type7_suncompat)" };
部分字母数字键 xkb_symbols "suncompat" { 包括 "sun_vndr/jp(suncompat)" };
部分字母数字键 xkb_symbols "sun_type7" { 包括 "sun_vndr/jp(sun_type7)" };
为了生成平假名,我试图使右 alt 键起作用,但现在我运行的是 20.04,以前成功的方法不起作用。
顺便说一句,我永远无法让其他模式更改键工作,但目前我对更改适当的符号文件似乎没有效果感到困惑。这些是 'jp' 文件中的间距,以防万一。可能有格式要求更改?...
如果有人对这种错误有任何经验,任何帮助或指针将不胜感激。
谢谢你。