windows 重新映射键盘组合,而不仅仅是单个注册表值

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4121760/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 15:34:38  来源:igfitidea点击:

Remap keyboard combinations, not just single registry values

windowskeyboard

提问by Ben

I'm getting real tired of pressing shift every time I want to type $or #. I've checked out key remapping programs like SharpKeys and a few others, but they don't support the SHIFT+[key]actions. The problem is they modify the registry value for a single key only (I think).

每次我想输入$或时,我真的厌倦了按 shift #。我已经检查了像 SharpKeys 和其他一些键重映射程序,但它们不支持这些SHIFT+[key]操作。问题是他们只修改单个键的注册表值(我认为)。

I want to flip over my number keys so when I type 4, it outputs $, similar to a French keyboard. (I tried physically rotating the key so it's upside down, but that's not working).

我想翻转我的数字键,所以当我输入时4,它会输出$,类似于法语键盘。(我尝试物理旋转钥匙,使其倒置,但这不起作用)。

There must be a solution for this - can you help?

必须有一个解决方案 - 你能帮忙吗?

采纳答案by Hans Passant

The registry hackers move virtual keys around. What you need is a custom keyboard layout. You can easily create your own with the Microsoft KeyBoard Layout Creator utility.

注册表黑客四处移动虚拟密钥。您需要的是自定义键盘布局。您可以使用Microsoft KeyBoard Layout Creator 实用程序轻松创建自己的键盘布局

回答by ANeves

In addition to the answer from @HansPassant, if you find trouble with the ctrl+KEY functions etc you might need to edit the .klcfile manually.

除了@HansPassant 的回答之外,如果您发现 ctrl+KEY 功能等有问题,您可能需要.klc手动编辑文件。

See https://superuser.com/questions/171307/how-can-i-restore-ctrlkey-functionality-in-microsoft-keyboard-layout-creator:

请参阅https://superuser.com/questions/171307/how-can-i-restore-ctrlkey-functionality-in-microsoft-keyboard-layout-creator

You need to modify the .klcfile manually.

Basically you just modify the VK_column to match the value in column 1.

So for example if you want to bind Lto N, you would create the keyboard as you normally would in KLC. Then you would open the KLC file in a text editor. Find the value Lin the VK_column, and switch it to an N.

For more information, I wrote the complete steps on my blog.

您需要.klc手动修改该文件。

基本上,您只需修改VK_列以匹配 column 中的值1

因此,例如,如果您想绑定LN,您可以像在 KLC 中一样创建键盘。然后您将在文本编辑器中打开 KLC 文件。查找值LVK_列,并将它切换到N

有关更多信息,我在我的博客上写了完整的步骤