[Share Experiences] 20.7新功能揭秘—键盘布局和输入法
Tofloor
poster avatar
zimo1
deepin
2022-09-06 23:45
Author

在deepin操作系统控制中心中有一个功能模块“键盘和语言”,它统一管理和提供对于操作系统系统语言、键盘布局、输入法的管理和控制能力,你可以通过使用这3大模块完成与其相关的功能设置。

012.png

那么这三者之间各自承担什么样的责任呢?

系统语言: 系统语言确定了整个系统的初始化语言状态,系统预装应用、文管、桌面环境的语言显示状态,通过切系统语言可改变这个系统语言显示状态。

键盘布局: 全世界采用许多不同的键盘布局,人们通常使用的键盘布局与所在的国家或使用的语言相关。键盘布局是指按键或键上图例所表现的不同布局方式。

输入法: 输入法的需求是来源于键盘的限度。键盘原在打字机时代为英文字母而设计,但键盘只有一百来键,在没有软件的帮助下它是无法输入中文或其他大型形意文字的语言。

当前大多数的输入法是为汉语,韩语,日语而设计。

  • 汉语有上万字,不论使用五笔、注音或是拼音,都必须经过一种转换系统来输入汉字
  • 韩语使用大量的谚文。虽然谚文是字母系统,但是它的字母组合很特别,也需要一种转换系统。而且,韩语有许多的汉字借词,偶尔需用汉字来分别同音词。
  • 日语使用平假名、片假名和汉字。如同中文一样,日文中有两千以上的常用汉字,也需要经过转换系统才可输入。

三者在deepin系统中的关系

[]()

  • 设置系统语言可修改全局性的基础语言显示
  • 键盘布局作为系统层键盘布局管理入口,但在输入法框架(fcitx)存在时将不对键盘布局设置起控制作用
  • 输入法(fcitx):当fcitx存在时,输入法框架作为最高优先级对整个操作系统中输入法与键盘布局调度起决定性作用

当前缺陷

  • 海外用户不理解输入法和键盘布局之间关系,由于fcitx会自行设置键盘布局,控制中心添加的键盘布局设置会被fcitx覆盖掉
  • deepin优先使用fcitx,所以控制中心添加的键盘布局会被fcitx覆盖而无法生效
  • dock的键盘指示器没有同步fcitx覆盖的键盘信息,在海外用户通过fcitx切换后指示器的显示带来了歧义

我们优化了什么?

优化这块我们充分考虑了两种使用场景,使用输入法(fcitx)用户和不使用输入法(fcitx),让用户更便捷的的使用输入法与键盘布局。

使用输入法(fcitx)场景

初始化安装后fcitx默认为启用状态,我们屏蔽了原有的键盘布局设置入口,支持在输入法中添加和删除需要使用的键盘布局,同时支持使用fcitx快捷键Ctrl+Shift完成输入法的切换,在dock中也对显示图标的切换进行了同步处理。

规避了输入法与键盘布局同时存在时,键盘布局指示器在fcitx切换时,指示不正确的问题。

卸载输入法(fcitx)场景

如果你是海外用户不需要使用输入法(fcitx),可对系统预装的fcitx进行卸载,卸载后原有的键盘布局设置入口会在控制中心进行显示,在键盘布局中你仍然可对键盘布局进行添加或修改。

fcitx卸载后在键盘和语言-快捷键设置模块,你会发现我们为键盘布局提供了系统级快捷键Super+Space,对已设置的键盘布局进行切换。

Reply Favorite View the author
Comments
poster avatar
blue_whale
2022-09-08 00:15
文章布局有些乱
All Replies
pipigo
deepin
2022-09-07 00:02
#1

为什么你的任务栏右边插件区域,没有灰色小方框背景

Reply View the author
caoyuUU
deepin
2022-09-07 00:18
#2

20.8啥时候来?V23啥时候出

已经快进到V23发布了

Reply View the author
jjcui8595
deepin
2022-09-07 00:18
#3

对于中国用户来讲,插件区域有两个与输入相关的图标很别扭,而且Windows系统也没有两个图标。能不能让系统根据区域语言设置,自动判断加载输入法或键盘布局,而不是弄两套模块?

Reply View the author
寰宇ζ
deepin
2022-09-07 00:40
#4
jjcui8595

对于中国用户来讲,插件区域有两个与输入相关的图标很别扭,而且Windows系统也没有两个图标。能不能让系统根据区域语言设置,自动判断加载输入法或键盘布局,而不是弄两套模块?

非常赞同这点

Reply View the author
sudo_free
deepin
2022-09-07 01:25
#5

写的挺好的,看过后完全晕了,建议下次别写了……

正经的说,如果这块已经“优化”到海内外用户都能轻松上手,也没必要扯这么多来解释。

 

特别是那两个框图,看的想打人……哪怕在上面把 “用户” 的位置标出来呢?

这是写给deepin用户看的,要能让他们知道体验差别在哪吧?

Reply View the author
doodo
deepin
2022-09-07 02:01
#6
It has been deleted!
suibian555
deepin
2022-09-07 05:08
#7

fcitx5吗?

Reply View the author
ruieapples
deepin
2022-09-07 08:10
#8

脑子有坑的设计。

Reply View the author
Oaklight
deepin
2022-09-07 12:56
#9
pipigo

为什么你的任务栏右边插件区域,没有灰色小方框背景

看到灰色小框框是因为你的任务栏被放大了,尝试在任务栏空白处边缘用鼠标拖动将任务栏缩放到最小就没有灰色框了。

Reply View the author
Comments
pipigo
2022-09-07 15:27
今日GET了小技能
173******15
deepin
2022-09-07 15:25
#10

键盘布局应该由系统通过硬件(实体键盘)检测识别,然后推荐给用户并由用户确认选择。键盘布局与语言在理论层面可以不相关,设计系统时也应将二者设计为不相关(尽管现实中二者之间有一定表观上的联系)。

而输入法,应该是根据语言环境和用户选择来决定是否启用之。

Reply View the author
wtz
deepin
2022-09-07 17:07
#11
173******15

键盘布局应该由系统通过硬件(实体键盘)检测识别,然后推荐给用户并由用户确认选择。键盘布局与语言在理论层面可以不相关,设计系统时也应将二者设计为不相关(尽管现实中二者之间有一定表观上的联系)。

而输入法,应该是根据语言环境和用户选择来决定是否启用之。

正文中说了,fcitx提供了自带的键盘布局设置接口,并且会修改系统默认的键盘布局设置,所以没必要再将原来系统自带的键盘布局设置接口暴露给用户,这样做是为了简化交互界面。

当然这样设计的前提假定装了fcitx的用户会重点关注“输入法”里的设置而不是系统默认设置。在不魔改fcitx(不现实也没必要)的情况下,隐藏系统自带的设置接口是比较好的选择。当然最好还是直接在控制中心里把键盘布局那一栏禁用(变灰),提醒用户“键盘布局”设置已经被fcitx(或者其他输入法)托管了。

Reply View the author
皇華
deepin
2022-09-07 18:03
#12

必须经过一种转换系统来输入汉字

轉換系統不必是輸入法。我正在研製一種漢字鍵盤,即不依靠輸入法打字。

Reply View the author
szp1120
deepin
2022-09-07 19:20
#13

更新了好几个版本,好像高级设置里面设置的属性,都设置不了。设置了,关了窗口再打开,又还原了。这个轮子的意义在哪里。

Reply View the author
lhxzui
deepin
2022-09-07 20:50
#14

20.6 怎么升级到 20.7 的 HWE 5.18 内核

Reply View the author
晚秋(lateautumn)
Moderator
2022-09-07 23:32
#15

我装的是5.18内核,感觉发热变小了,但蓝牙设备的识别变差了。

Reply View the author
xuqi
deepin testing team
2022-09-08 07:37
#16

kissing_heart

Reply View the author
la
deepin
2022-09-09 19:31
#17

没看明白,直接根据系统默认语言判断是否启用输入法不行吗

Reply View the author
ThinKinG
deepin testing team
2022-09-09 21:03
#18

like

Reply View the author