我可以使Ctrl + Alt在Windows上不像AltGr那样起作用吗?


33

许多应用程序(例如Google Docs)都使用Ctrl+ Alt快捷方式,例如Ctrl+ Alt+ 2用作标题2,Ctrl+ Alt+ m用作注释等。但是,如果使用国际键盘的布局,则Ctrl+ Alt映射到AltGr,因此许多此类快捷方式会产生特殊字符,例如Ctrl+ Alt+ 2= @。因此,无法使用这些快捷方式。

有没有一种方法可以禁用此Ctrl+ Alt= AltGr,例如AltGr+ 2= @但Ctrl+ Alt+ 2可以用作快捷方式?


以前有一些帖子提供了与此问题相关的答案:

但是,两种解决方案都与完全取消分配特殊字符有关。这些解决方案不会禁用Ctrl+ Alt= AltGr绑定。这意味着,为了使用Ctrl+ Alt+ 2作为快捷方式,我根本无法编写@,这自然不是一个选择。


3
您是否尝试过AutoHotKey
Dave,

您曾经制作脚本吗?如果是这样,您可以分享吗?
Zackh105 '16

Answers:


17

我进行了进一步研究,并查看了其他答案。简短的答案似乎是:不!Windows将 Ctrl + Alt AltGr 等同对待

但是有一个hack。从本质上讲,我们不允许Windows处理AltGr键绑定,而是使用了解两者区别的第三方工具。我们对每个单键手动执行此操作。

此技巧不适用于“ ” 或“”等“ 死键 ” 。~^

第1部分:让AutoHotKey将 AltGr+ 转换Some Key 为符号
AutoHotKey可以区分AltGrCtrl+ Alt Windows应用键盘布局之前,它还可以将AltGr+等击键转换2为单个符号。@

  1. 下载并安装AutoHotKey
  2. 创建一个新脚本,即带有扩展名的纯文本文件 .ahk
  3. 对于每个要使用AltGr+ BUTTON= CHAR 编写的字符,请创建如下一行:
    <^>!BUTTON::SendInput {raw}CHAR
    示例:AltGr+ 2= @变为<^>!2::SendInput {raw}@
  4. 保存脚本

如果您想测试脚本,则可以创建一些任意映射,例如<^>!t::SendInput {raw}tttt。双击脚本以应用它,并在键入时测试AltGr+是否t产生四个t。

第2部分:排除Windows:
我们希望删除键盘上所有AltGr+的分配Any Key,因此Windows绝不会将它们转换为字符。

首先,我们需要创建一个新的键盘布局。

  1. 下载Microsoft键盘布局创建器。它是一个简单的工具,可让您修改键盘布局。(下载链接
  2. 打开工具,File -> Load Existing Keyboard然后选择键盘布局。
  3. 选择File -> Save source as并为其重新命名。
  4. 勾选Alt+Ctrl (AltGr)
    您可能要选择File -> Save as Image记下原始作业。
  5. 单击以删除所有分配的键,删除符号,然后单击OK
    “不清除任何死键!”。(灰色的)。检查所有的调节器,即AltGrCtrlAlt,或无!
  6. 转到Projet -> Propertie并给它一个体面的名称和描述。
  7. 保存:File -> Save Source File以便以后编辑
  8. 导出设置: Project -> Build DLL and Setup Package

然后,我们需要应用这种新的键盘布局。

  1. 在“文档”文件夹中找到导出的安装文件,然后双击setup.exe。这将安装新的键盘布局。
  2. 通过转到打开输入设置 Control Pannel -> Change keyboards and other input methods -> Change keybords
  3. 单击Add选择您自己的键盘并将其设置为默认键盘。
    一旦您确信一切正常,请回到这里并卸下标准键盘。

第3部分:让AutoHotKey接手:
现在让一切付诸行动:

  1. 确保在语言任务栏中选择了新键盘,并且通知栏中的AutoHotKey没有最小化运行。
  2. 尝试键入您的特殊字符。这不行。
  3. 双击您的AutoHotKey脚本。因此启动
  4. 尝试再次键入特殊字符。现在这AltGr仅适用于。
  5. 若要确保在Windows启动时加载脚本,请在Start Menu\Programs\Startup文件夹中为其创建一个快捷方式

而已!(ツ)您可以.ahk与其他计算机共享键盘布局设置文件和脚本,以跳过大多数步骤。


其他资源:http:
//answers.microsoft.com/zh-cn/windows/forum/windows_7-desktop/replace-default-windows-keyboard-shortcut-behavior/0c5ff2a4-6bea-49a9-88bc-669049a1e107
http:// office.microsoft.com/zh-CN/word-help/alt-gr-keys-HP005259063.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx
http: //www.autohotkey.com/board/topic/61625-how-to-a-void-that-c​​trl-alt-altgr/


另一个有价值的资源是Michael Kaplan的博客
Piotr Dobrogost 2013年

1
仅当您的语言不需要使用AltGr时,删除AltGr + Key分配才有效
phuclv

我从事这项工作。问题是键盘布局创建器有问题。准备好多次安装和卸载布局。有时,卸载第一次无效。说明未正确更新,您可以在注册表Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts`, the DLLs can be found in System32`中进行修复。我目前
不愿意

似乎Windows需要重新启动才能执行一些与键盘相关的事情,例如反映更新的说明以及从控制面板中删除已删除的键盘。比我希望的那样,这更像是种痛苦。现在似乎可以正常工作了。不得不在AutoHotKey中创建显式的大写命令,即<^>!q::SendInput {raw}ä<+<^>!q::SendInput {raw}Ä
CervEd

1

我建议您看看AutoHotKey。它是一个免费工具,您也可以非常轻松地更改快捷方式效果。在其网站上查看热键文档。这真的很容易理解,也很容易使用。您可以重新映射每个键/快捷方式。


0

我会推荐SharpKeys:

SharpKeys是一个注册表黑客,用于使键盘上的某些键像其他键一样起作用。例如,如果您不小心频繁地按下了Caps Lock,则可以使用此实用程序将Caps Lock映射到Shift键,甚至完全将其关闭。该正式发行版包括对多达104个映射的支持,大量可用密钥列表以及“类型密钥”选项,以帮助管理映射。

我没有亲自使用过它,但是知道有人曾经使用过它并且对此非常满意。

我不确定,但是也许将键盘布局切换为(英语(英国))可能会有所帮助。这是有关如何的链接。


看了一下SharpKeys,但它似乎只能将一个键击映射到另一个键击,并且不做任何组合,因此它无济于事:(切换键盘布局不是一种选择,因为大多数符号都在其他位置-甚至是数字关键是不同的,但感谢的建议。
Bittenus

0

我发现可以使用数字键盘代替常规数字键来激活Google Docs快捷方式。使用AHK,这在没有数字键的笔记本电脑上也可以使用。例如,

<^<!2::SendInput ^!{Numpad2}

将激活标题2,而不打印@。无需使用MSKLC。


-3

按住NumLock键5秒钟。

这对我有用。

我在这里的计算机上找到了答案:“控制面板\所有控制面板项目\轻松访问中心\使键盘更易于使用” ...我的旁边有一个勾号,其中“按住NUMLock的同时打开切换键5秒'....


请澄清此回答并为其添加更多背景信息,以准确传达您的建议。您知道,请考虑对此答案添加一些参考,以支持您的陈述。否则,请阅读“为什么需要50个信誉才能发表评论”,以确保您了解如何开始发表评论。
Pimp Juice IT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.