据我所知,“ Shift”,“ Alt”和“ Control”的概念是通过键盘直接通过OS API进行硬编码的。有时我看到Windows键用作修饰符,但似乎没有注册为“真正的”修饰键,其数量超过了键盘上的任何键。

但是一个人可以添加一个新的修饰键吗?也许是在疯狂地疯狂地带回太空学员键盘?除了经过物理修改的键盘(或者可能只是重新映射一些未使用的键)之外,还需要什么:新驱动程序?新的API调用?操作系统的完全重写?

我想在开源OS上比在Windows上做这种事情要容易得多,是吗?

有帮助吗?

解决方案

嗯,为键盘和鼠标建立标准会有好处。它使事情“工作”,而无需特殊的驱动程序或操作系统补丁。但这意味着键盘和鼠标必须自己进行标准化,以使其“正常工作”。

因此,如果您想在键盘上添加一个额外的键(无论它是否为修饰键),都必须以某种方式使其变得有用,这意味着应用程序需要意识到这一点,并且他们需要一种方法来做到这一点。通知此键的状态。幸运的是,无论Windows和其他操作系统是否开源,它都为此提供了一种可扩展的标准机制:驱动程序

因此,简而言之,您将需要提供一个驱动程序来扩展 standard 键盘的标准功能,就像您购买带有19种特殊功能的精美鼠标中的一种一样需要驱动程序按钮和3个滚轮,而不是 standard 的两个或三个按钮和一个滚轮。

最后,您需要知道专用键盘的应用程序。如果您的应用程序不知道它的超级功能,那么拥有这个改装键盘到底有什么用?唯一可以使用特殊键盘执行的操作是创建包含特殊修饰符的热键。

其他提示

我很好奇你的理由。您是否真的希望在日常计算机使用中充分利用和整合其他修饰键的使用?如果真是这样,那么是以哪种方式? (这纯粹是我的好奇心;导致您查询的原因或事件让我着迷!我将解释原因。)

让我首先说明,我不能完全回答您提出的问题(向操作系统添加修饰符到底要涉及什么),除了要说比我相信任何人都可以完成的工作还要多-甚至在几年之内(某些真正的计算机天才除外);但是根据您提出问题的原因,我可以告诉您,出于您的目的可能并不需要(尽管这显然是猜测)。实际上,从技术上讲,实际上存在着更多的修饰符,但它们实际上是无证的,很少使用。

我已经在这个问题上玩了很长时间了。关于使用个人计算机的第一个有意义的介绍是在Mac的早期使用Mac。 Mac一直至少有两个真正的“字符”修饰键;以及两个“命令”修改键。我认为这一区别很重要,尽管通常没有明确说明或提及。在现代时代,Mac在功能上最多可以具有5个修改键。尽管在如何有效地将它们用于各种目的方面存在一些限制。 *我相信,nix操作系统可以支持多达8个修饰符。但是,将它们与现代键盘配合使用将需要重新映射。

但是,我的大多数个人计算机都是基于Windows的,而实际上,Windows似乎仅支持1个真正的字符修饰键:Shift。对我来说,这是绝对无法接受的状况!为什么?我需要输入更多的字符!

为什么?因为我对外国语言,语言学,语音和写作系统有浓厚的兴趣和背景。我需要能够(不会太困难)键入比Windows似乎更多的字符和符号。不过,这主要是出于娱乐目的,因此并不是紧迫的事情。而且,当我需要创建/编辑几乎包含除英语之外的任何其他语言的文档时,就可以访问Mac。

因此,在Windows中,Alt键在内部被称为菜单键,因为它最初是在Windows采用鼠标之前的几天用于访问和导航应用程序的命令菜单的。并且它仍然以此身份运行。从技术上讲,仅当与Control结合使用时,它才能用作修饰键。 ISO键盘(欧洲/外国键盘)通常具有一个称为AltGr的键,而不是“右侧” Alt键。它代表“备用图形”,用于通过使整个键盘的另一整层或两层都可访问,从而将其他语言所需的其他符号和带重音的字母映射到“常规”键盘,从而有效地加倍(甚至三倍或四倍)可以输入的字符数。从技术上讲,AltGr键只是一个同时触发Alt键和Control键的键,以方便打字员手指。

实际上,您不需要ISO键盘即可使用AltGr并访问这些其他字符。但是,它们使操作变得容易得多,因为它们通常都有一个每个键可以产生的字符,就像我们所做的那样,该字符可以打印在键本身上。您真正需要做的就是为其中一种语言(所有Windows版本都内置)激活键盘布局。您可能需要打印出选择使用的键盘图。或者在您的键盘上贴上贴纸,直到学习如何键入所需的所有符号为止。

顺便说一句,Windows键是完全成熟的修饰符

y,但Microsoft只能在其认为合适的情况下委派其使用。 (实际上,他们将使用数字的组合指定为OEM可以在其系统上指定的“免费游戏”)。它被设计为硬件级别的修改键。

支持大多数键盘的技术通常可以很好地用于键盘的标准用法(通常不包括游戏),以进行打字,输入文本/数据,进行研究等工作。但是,为了保证安全和简化成本,对它们进行了设计,以便可以将用作修饰符的键与至少一个或两个其他键一起按下并识别。但是,如果您尝试将修饰符移至键盘上的其他键,并且仍然希望触发“和弦”热键(一次按下2、3个或更多键),则会很快遇到问题,因为这些键不是经过设计并且没有提供硬件用作修饰键。 Windows密钥-即使到目前为止Windows中并未以这种方式使用它;具有技术要求。

此外,Windows键盘可以插入Mac,并且可以正常工作。 Windows键对应于Apple Command键; Windows键对应于Apple Command键。大多数应用程序都广泛使用该工具来触发复杂的热键/键盘快捷键,并且这样做没有问题。

因此,尽管在另一回应中提出了要求;实际上,在键盘上“添加一个额外的键”或多个键要容易得多。不需要自定义驱动程序,甚至不需要内置OS驱动程序。您所需要做的就是将键指定为在各种外来键盘上发现的(由Windows本地识别的)少数附加键之一。

共有三种主要的键盘类型:ANSI(美国),ISO(欧洲)和JIS(日语);另一个常见的变体是巴西键盘;通常称为Abnt(实际上指的是这些键盘上的额外键的基础“名称”:VK_ABNT_C1和C2)。

从技术上讲,在ISO键盘上有一个或两个唯一键(称为VK_OEM_8和VK_OEM_102)。日语键盘可以有8个以上的附加键。但是,它们通常具有5-6个附加键,其中两个是特殊键,可用于将键盘上的几十个按键转换为数千个复杂表意文字的各种方法。另一个是MODIFIER键!韩文键盘也具有此功能。它的工作方式类似于CapsLock,但不是切换到大写字母,而是切换到韩文字母或日语音节(据我所知,因为所有计算机仍需要能够输入拉丁字母作为密码的键盘等)。但是对于不断切换书写系统的用户不得不来回切换键盘布局而言,这变得非常繁琐和令人沮丧。因此,他们使用了一个锁定修改键来解决该问题,该修改键通常具有一个CapsLock之类的LED灯,以提供关于生成哪种书写系统的简单,即时的视觉提示。

开发了另一种日语键盘,其目的是简化打字速度。尽管它从未真正起过作用(在80年代和90年代标准化之前,有很多不同的想法和模型),但富士通的这款键盘仍然很受欢迎,并受到作家和许多使用日语编写大量文字的人的喜爱。 / p>

它的特殊品质是它有3个大键代替空格键,只有较小的中心键产生空格,另外两个是“拇指修饰键”,非常方便使用而无需手指杂技;它们甚至可以与换挡相当舒适地结合在一起,因此可以提供大量的实际可键入字符的清单。从技术上讲,Windows也支持这两个修饰符!尽管支持很少,但几乎没有文档(至少在日本以外)。

但是,它仍然存在

如果您重新映射键盘并重新调整键盘上的几个键的用途,则可能会以各种方式使用这些键-尤其是如果您有带数字键盘的完整键盘。

在Windows中,实际上可能在键盘上包含多达15个层(包括基本层),每个层都必须通过修改键的唯一组合来激活。实际上,大约有48种可能的(有效)组合,它们分别是:shift,control,Alt-Control,kana,loya和roya;因此不能在理论可能性附近的任何地方使用。

我一直在使用一种特殊的键盘布局,该布局使用所有这些键并具有15层,这使我可以轻松地使用拉丁字母(包括任何带重音或修饰字母的)以及国际语音字母(IPA),用于精确地以书面形式记录地球上任何语言或方言的文字。我还写了几层专门用来键入Ethiopic的文字(我小时候就住在那儿)。另外,我还有用于基本希腊语,希伯来语和阿拉伯语的图层以及用于符号的图层。此外,我在键盘上编程了很多死键-非常适合重音字母(首先您按键来进行特定的重音标记,但是直到按下下一个(有时是3-5个键)之后,任何操作都不会发生(如果死键被“链接”以在单个字母上添加多个标记,就像越南语在一个极端的程度上一样);在键入实际字母时,如果可能的话,所有这些重音符号或标记都将被叠加/施加。

您需要做什么才能实现?

一小段名为 KbdEdit (高级版)的软件,价格非常合理(IMHO)

有一个试用版,您当然可以免费签出;该网站的键盘上有很多有用,引人入胜且通常晦涩难懂的信息。

其他(免费)软件可以让您执行各种操作,包括更自由地使用所有修饰键,几乎可以用于任何目的。它称为AutoHotKey。多年来,我一直在使用它来完成各种漂亮的事情(实际上,这是我的键盘重新映射3个其他修饰键的系统的一部分(它使我可以“重复使用”键,因此我不会失去功能。例如,我已经将两个日语的拇指修饰符重新映射到我的Alt键上,我从不使用Alt键访问Windows应用程序中的菜单;但是,我使用的软件确实利用了包含Alt的键盘快捷键。 ,Alt必须始终与Control一起使用才能执行除导航菜单以外的任何操作。因此,我没有在自定义键盘布局上使用Control和拇指修饰符的任何组合(这不会带来任何挑战),并且将AutoHotKey配置为将同时按下Control和任一Thumb修饰符转换为“ control-alt”,如果我碰巧只需要Alt,则按Windows +将任一Thumb修饰符转换为Alt(因为我从未遇到过同时需要Windows和Windows 7的任何快捷方式替代那个没有冲突。

我也讨厌笔记本电脑上的触控板;试图使用滚动是不稳定和令人发指的;此外,它无法产生我广泛使用的中键。因此,我将没有人使用的那个键重新用于打开“上下文菜单”(因为“右键单击”以打开该菜单要容易得多),通常称为“应用程序键”。如果将其按住(如自定义修饰符),它将按箭头键转换为滚轮移动(沿上下或左右轴),并将空格键点击转换为鼠标中键。我还有一些编程的功能或按钮,可以通过按住“人造”自定义修饰符用那只手轻松触及的所有其他按键来触发。我可以控制我的媒体

通过模拟我的小笔记本电脑没有的媒体密钥以及许多其他有趣的东西来应用程序。

AutoHotKey 可能出于大多数原因都可以容纳您想要向其添加其他修饰键的原因。键盘,实际上并没有经历所有的麻烦!

定义了Windows W32 API 虚拟键代码。它是8位,提供256个值,并且表中有一些空白。

WM_KEYDOWN消息在这些代码上运行。

现代键盘最多可同时检测6次按键,但是有 N键翻转关键重影您应该注意的问题。

.Net API仅公开Alt / Shift / Control作为修饰符。

简而言之-微软提供的许多核心API都将Alt / Shift / Control用作修饰符,即使现代键盘除按键之外还允许近5个同时的修饰符。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top