[ 已解决 ]Acer Aspire 4743G 键盘不能正常输入 "shift + 2 ,shift+3, "

我是 Acer Aspire 4743ZG 笔记本,在英文输入法里面,我输入了 shift+2 以后不是 @,而是 “。这两个键相反。shift+3 输出的是 £,而不是 #。我上面的两个字符只能在 fcitx 里面输入。无论哪个输入法,都不能正常输入 ”“(这个字符必须用 fcitx 的虚拟键盘输入)。

解决过程及问题 1:
我在 YaST - System Keyboard Layout - Keyboard Layout 里选择 English(us)或者(uk),都不能解决。
解决过程及问题 2:
我在 Systemsetting - Hardware - Input devices - Keyboard Setting - Keyboard Model 选择 Generic - Generic101-key-PC,不成功。然后改为 Acer | Acer Laptop。还是不成功。
上面的解决过程都在 irc # opensuse-cn 里面,经大家的建议操作的,还是没有解决问题。

现在问题解决了。如图所示进行 Layout 设置 。


谢谢版主的修改,我的帖子比我原来写的好多了,也丰富了。希望我们这里人气逐渐旺起来

又遇到新问题了,我设置好了以后。再次重启,还需要再设置一次,或者换旁边的一个设置一次。然后在不重启的情况下就修正好了。但是如果再次重启,又不行了。

用 root 登录设置一次看看。

按照楼上重试,仍然不行,我每次开机都仍需要 systemsetting 一次

继续贯注我自己的这个帖子,我今天安装了 fcitx-config-kde4, 结果意外的发现了这个内容,请 fcitx 懂行的同志看看,fcitx 里面关于 us 输入法的列表是从哪里来到,可能我就找到解决的地方了。


告诉大家一个好消息,我的问题最终解决了,我在前面的


图中的设置里(实际是 fcitx-config-kde4 的设置界面)更改的输入法的设置(蓝色的选择项)。
我推测整个过程是这样的:系统有一个 keyboard layout 的设置,就是我 root 进去以后 systemsetting 里的 layout。在登录了我的用户以后,是我的 systemsetting 里的 keyboard layout。但是最终,我启动了 fctix 以后,还是 fcitx 的 config 覆盖了前面的 layout。但是问题出现了。如果我的 fcitx 不默认启动,而且我自己用户名里的 keyboard layout 也设置成功的话,是否就不会出现上面的问题了呢?
希望这个 fcitx 的小小 bug 能够在下一个版本中修改(就是继承 system 的 keyboard layout)。

你把左边的列表的显示所有语言勾上,然后找你需要的键盘布局加到第一个就行了

另外我稍微解释一下……这里面有点让人迷惑的,7 楼添加的是“不显示输入面板的时候使用的键盘布局”。

能打中文(显示输入面板)的时候使用的是 6 楼的图里设置的那个键盘布局,例如 google pinyin 的默认的是 us,之类的。“键盘 - 法语” 是 fr 的。

除了本身就是键盘布局的「键盘 -」系列,其他的输入法点右边列表右侧的扳手都可以另设布局……

1赞

说真的这个帖子我没太看懂,我把我认为的情况说下,楼主来确认下:

openSUSE 默认安装就是 en_US 键盘布局,fcitx 默认安装也是 en_US 键盘布局。楼主出于未知原因不是这样(电脑型号还是自己改过)

然后先在 KDE 系统键盘布局那边改,能用

但是重启后,不能用,必须再设

然后楼主找到方案是在 fcitx 里添加一个键盘布局,完美解决

于是楼主认为是 fcitx 在重启时吃掉了在 KDE 系统设置里弄的键盘布局。

所以这种现象很奇怪,楼主认为是 fcitx 的 bug。

我来解释下:

  1. 如果你不装输入法,KDE 系统键盘布局是肯定管用的。

  2. 如果你安装了输入法,你认为的情况是:在你没有 ctrl + space 调出输入面板打字之前,用的应该是系统键盘布局。调出输入面板之后,用的是 fcitx 设置的键盘布局。

但实际情况是这样的:

ibus 和所有其它输入法都是你理解的那样。但 fcitx 却不是。fcitx 实现了一个叫 fcitx-keyboard 的特殊输入法,是在 GNOME 乱搞 IBus 的时候 csslayer 义愤填涌写的(你们写的是 shit,我写的是 gold),目的是给那帮渣渣看看用输入法去支持键盘布局输入(就是让老外也用输入法)的完美实现应该是怎样的。后来整合进了 fcitx 主体。

也就是说,在你没有 ctrl + space 调出输入面板之前,你用的依然是 fcitx 管理的键盘布局。证明方法是按 ctrl + space 关掉输入面板,按 ctrl + alt + h,接着开始打英文。你会发现英文也有输入面板,还有拼写提示。

你的情况的原因是:

启动,fcitx 接管键盘布局,然后因为未知原因 fcitx 默认键盘布局在你的本子上按键错位,于是你去改 KDE 系统的键盘布局,那个是立即生效,于是把控制权从 fcitx 那里抢了过来,好了,但是再重启,fcitx 又接管键盘布局了。

所以你可以完全禁用掉 KDE 的系统键盘布局:

「系统设置」-「输入设备」-「键盘」-「布局」,把「配置布局」那里留空即可。

按照学姐的提示重新设置,我突然觉得我前面的问题是无病呻吟。
我目前和原来的区别在于比以前安装了一个 fcitx-config-kde4。





但是我原来提出的问题的确是存在的。如果将来我的系统需要重头安装的时候才能验证了。

给这个帖子一个句号吧。

我最近一直没有来版里,为了一个 windows 下的盗版软件,我尝试双系统安装,但是和原来的经历不同,比较曲折。最后不得已把 home 文件夹腾空后格了。

再次重装系统以后,我发现我原来遇到的这个问题不存在了。

所以我得到一个结论:我原来从 ubuntu 转过来的时候,遗留的.config/fcitx 文件夹或者其他我不太清楚的配置文件影响了我的输入法设置。

抛砖引玉,望指正