将新修改键添加到Windows需要什么?

Cod*_*num 7 windows keyboard operating-system drivers modifier-key

据我所知,"Shift","Alt"和"Control"的概念很好地通过键盘本身直接通过OS API进行编码.有时我看到Windows键用作修饰符,但它似乎没有注册为"真正的"修饰键,比键盘上的任何键都要多.

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

我想这种事情在开源操作系统上比在Windows上要容易得多,是吗?

Mik*_*scu 6

好吧,为键盘和鼠标制定标准是有好处的。它无需特殊驱动程序或操作系统补丁即可使事情“工作”。但这意味着键盘和鼠标必须自己标准化才能让它们“正常工作”。

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

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

最后,您需要能够识别您的特殊键盘的应用程序。如果您的应用程序不知道它的超能力,那么拥有这个改装键盘到底有什么用?您可以使用特殊键盘做的唯一一件事就是创建包含特殊修饰符的热键。


Aur*_*rch 5

我很好奇你的理由。您是否真的希望在日常计算机使用中使用并完全集成附加修饰键的使用?如果真是这样,那么是以哪种方式?(这纯粹是我的好奇心;我对导致您询问的原因或事件很着迷!我会解释原因。)

\n\n

首先让我声明,我无法完全回答您提出的问题(向操作系统添加修改器到底会涉及什么),只能说这需要比我相信任何个人可以完成的工作更多的工作\xe2\ x80\x94 甚至几年之内(除了一些真正的计算机天才);但根据您询问的原因,我可以向您表明,您的目的可能不需要它(尽管这显然是猜测)。实际上,从技术上讲,实际上存在更多修饰符,但它们实际上没有记录并且很少使用。

\n\n

我已经思考这个问题有一段时间了。我对使用个人电脑的第一次有意义的介绍是在早年使用的 Mac。Mac 一直有至少两个真正的“字符”修饰键;以及两个“命令”修饰键。我认为这一区别很重要,尽管通常不会明确解释或提及。在现代,Mac 功能上最多可以有 5 个修饰键;尽管如何将它们有效地用于各种目的存在一些限制。*我相信,nix 操作系统可以支持多达 8 个修饰符。然而,在现代键盘上使用它们需要一些重新映射。

\n\n

然而,我的大多数个人电脑都是基于 Windows 的,归根结底,Windows 似乎只支持 1 个真正的字符修饰键:Shift。这对我来说是绝对不能接受的事情!为什么?我需要输入比这更多的字符!

\n\n

为什么?因为我对外语、语言学、语音学和书写系统有浓厚的兴趣和背景。我需要能够输入(没有太困难的)比 Windows 似乎支持的更多的字符和符号。不过这主要是为了好玩,所以并不是非常紧急。当我需要创建/编辑包含除英语之外的几乎任何语言的文档时,我已经能够访问 Mac。

\n\n

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

\n\n

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

\n\n

顺便说一句,Windows 键是一个完全成熟的修饰键,但它的使用受到限制,微软可以根据他们认为合适的方式进行委托。(实际上,他们将使用数字的组合指定为“免费游戏”,供 OEM 在其系统上指定)。它被设计为硬件级别的修饰键。

\n\n

支持大多数键盘的技术通常适用于键盘的标准使用(通常不包括游戏),用于打字、输入文本/数据、研究等。但是,为了节省成本和简化,它们被设计为可以将用作修饰符的键与至少一个或两个其他键一起按下并识别。但是,如果您尝试将修饰键移动到键盘上的其他键,并且仍然希望触发“和弦”热键(一次按下 2 个、3 个或更多键),您很快就会遇到问题,因为这些键未设计且未指定用作修饰键的硬件。Windows 键\xe2\x80\x94,尽管它在 Windows 中并未以这种方式使用(到目前为止);它有技术要求。

\n\n

此外,Windows 键盘可以插入 Mac 并且可以正常工作。Windows键对应Apple Command键;大多数应用程序广泛使用它来触发复杂的热键/键盘快捷键\xe2\x80\x94,并且它可以毫无问题地执行此操作。

\n\n

因此,尽管在另一个回应中声称;实际上,在键盘上“添加一个或多个额外的键”要容易得多。不需要自定义驱动程序,甚至不需要内置操作系统驱动程序之外的任何东西。您所需要做的就是将该键指定为在各种外国键盘上找到(并由 Windows 本机识别)的少数附加键之一。

\n\n

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

\n\n

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

\n\n

另一种日语键盘是专门为了方便和快速打字而开发的。尽管它从未真正流行起来(在标准化之前,在 80 年代和 90 年代有很多不同的想法和模型),富士通的这款键盘仍然很受欢迎,并且是作家和任何用日语制作大量文本的人的最爱。

\n\n

它的特别之处在于它有3个大键代替了空格键,只有中间较小的键产生空格,另外两个是“拇指修改键”,使用起来非常方便,无需手指杂技;它们甚至可以相当舒适地与 Shift 结合使用,从而提供大量可物理输入的字符。从技术上讲,Windows 也支持这两个修饰符!尽管如此,支持很少,文档几乎不存在(至少在日本以外)。

\n\n

但是,如果您重新映射和重新调整键盘上的一些键的用途,仍然可以以各种方式使用这些键 - 特别是如果您有带数字键盘的完整键盘。

\n\n

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

\n\n

我一直在使用我开发的特殊键盘布局,该布局使用所有这些键并具有 15 层,使我可以使用拉丁字母(包括任何重音或修饰字母)以及国际音标轻松编写任何语言的文本字母表 (IPA) 用于以书面形式精确记录地球上的任何语言或方言。我还有几层专门用于输入埃塞俄比亚语(我小时候住在那里);另外,我还有初级希腊语、希伯来语和阿拉伯语的图层以及符号图层。此外,我在键盘中编程了很多死键\xe2\x80\x94,它们非常适合重音字母(首先按下特定重音标记的键,但直到按下下一个(或有时 3-5 个键)之前什么也不会发生(如果死键被“链接”以向单个字母添加多个标记,就像越南语在极端程度上所做的那样);当键入实际字母时,如果可能的话,它会将所有这些重音或标记堆叠/应用。

\n\n

为了使这一切成为可能,您需要什么?

\n\n

一个名为KbdEdit(高级版)的小软件,价格非常合理(恕我直言)。

\n\n

当然,您可以免费查看试用版;该网站充满了有用、有趣且常常晦涩难懂的键盘信息。

\n\n

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

\n\n

我也鄙视笔记本电脑上的触控板;尝试使用滚动是不稳定且令人恼火的;此外,它无法产生我广泛使用的中键点击。因此,我重新设计了那个没有人使用的打开“上下文菜单”的键(因为“右键单击”打开该菜单要容易得多),通常称为“应用程序键”。如果我按住它(就像自定义修改器一样),它会将箭头键按下转换为滚轮移动(在上下或左右轴上),并将空格键点击转换为中键单击。我还有一些功能或按钮被编程为由所有其他键触发,我可以在握住“人造”自定义修饰符时轻松地用那只手触及。我可以通过模拟我的小型笔记本电脑没有的媒体键以及许多其他很酷的东西来控制我的媒体应用程序。

\n\n

AutoHotKey可能能够满足您想要在键盘上添加附加修饰键的大多数原因,而无需实际执行所有这些繁琐的操作!

\n

  • 非常感谢您编辑和修改我的答案!我非常欣赏这一点。 (2认同)