首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iso_level3_shift与latch的区别

iso_level3_shift与latch的区别
EN

Stack Overflow用户
提问于 2013-02-07 12:36:00
回答 1查看 2.3K关注 0票数 11

ISO_Level3_Shift和ISO_Level3_Latch之间的区别是什么,例如,在level3配置文件中,可以在/usr/share/X11/xkb/symbols中找到(我确定,在archlinux和其他许多发行版中)。

例如,我将此条目添加到我正在使用的自定义键盘(对于逻辑学家来说,不用担心,⊥→很棒)。

代码语言:javascript
复制
// make right control do level3 shift stuff
default partial modifier_keys
 xkb_symbols "rctrl_switch" {
  key <RCTL> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  include "level3(modifier_mapping)"
};

它按预期工作(按住右键可以访问3级符号,例如,我拥有的大多数unicode代码点用于us-intl布局变体),但我想知道为什么一些条目使用ISO_Level3_Latch,以及这意味着什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-04 15:21:15

shift样式修改器的工作方式是,您必须在按住其他键的同时按住该键才能修改该键。这就是常规的大写shift键在普通键盘上的工作方式。

闩锁样式的修饰符执行相同的操作,但与shift样式的修饰符相反,如果在按下另一个键之前释放该修饰符,则该修饰符将被锁定,这意味着您将按下的下一个键将被修改。此外,如果在锁定状态下按下修改器,则修改器将被锁定,直到再次按下修改键。

例如,使用大写字母的常规移位。请考虑以下击键顺序:

代码语言:javascript
复制
- Press a
- Release a
- Press & release space
- Press shift
- Press a
- Release a
- Press a
- Release a
- Release shift
- Press & release space
- Press shift
- Release shift
- Press a
- Press a
- Press & release space
- Press shift
- Release shift
- Press shift
- Release shift
- Press a
- Press a
- Press a
- Press shift
- Release shift
- Press a

如果将shift设置为shift-style,您将获得以下输出:

代码语言:javascript
复制
a AA aa aaaa

如果将shift设置为闩锁样式,您将获得以下输出:

代码语言:javascript
复制
a AA Aa AAAa

因为在第三组之前的按下释放循环之后,shift被锁定,并且当您按下a键时,该锁定被消耗。在第四组中,在锁定时再次按下闩锁将使您进入锁定模式。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14743638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档