在 Windows 7 中,使用瑞典键盘布局按下时tilde,计算机会等待按下第二个键。等待的原因是为了让用户能够构造我从未输入过的字符(例如 ã 和 ñ)。我可以禁用此功能,以便按一次波浪符号实际上会生成波浪符号吗?
答案1
首先,下载并安装Microsoft 键盘布局创建器。然后,按照以下步骤操作:
- 打开 KLC 并转到文件 -> 加载现有键盘...
- 选择您的键盘布局并点击好的
- 布局加载完成后,双击产生波浪符号的键
- 在新窗口中,单击“全部...”
- 找到产生波浪符号的组合,然后取消选中“死键?”复选框
- 点击好的
- 可选:转到“项目”->“测试键盘布局”,以确保按键的行为符合您的要求
- 可选:转到项目 -> 属性并更改布局名称和描述
- 转到项目 -> 构建 DLL 和安装包,等待该过程完成并单击是的打开安装文件所在的目录
- 跑过安装程序文件来安装新布局
- 最后,转到控制面板中的区域设置(或使用语言栏)切换到新布局
答案2
访问Microsoft 键盘布局创建器网页并下载MSKLC.EXE (10.1 MB)。
该程序的一些功能允许您根据现有布局制定新布局。(这意味着您可以采用当前的瑞典语键盘布局并删除当前字符/操作并将其替换为tilde。)
答案3
这不是对您的确切问题的回答,但由于我看到评论中有人谈到按~
两次,您也可以按 AltGr+~ 然后按空格,这可能是一种更快的输入方式,而无需修改键盘布局。
(这是我在挪威语(就这一点而言,与瑞典语相同)键盘上打字的方式~ 很长一段时间,最后我还是放弃并改用美国键盘了)
答案4
我发现维护使用 MSKLC 创建的键盘布局很困难,因为每次更新布局时,我都必须卸载并重新安装键盘布局。我使用 AutoHotKey(版本 1.1.33.10)脚本来映射按键。该脚本在系统启动时启动并始终在后台运行。
这是我的挪威布局脚本:
; Map Shift + button left of backspace from dead `(backtick / GRAVE ACCENT) to living `(backtick / GRAVE ACCENT)
+SC00D::SendInput, {U+0060}
; Map AltGr + button left of backspace from dead ´(ACUTE ACCENT) to living ´(ACUTE ACCENT)
<^>!SC00D::SendInput, {U+00B4}
; Map the button right of Å from dead ¨(DIAERESIS) to living ¨(DIAERESIS)
SC01B::SendInput, {U+00A8}
; Map Shift + button right of Å from dead ^(caret / CIRCUMFLEX ACCENT) to living ^(caret / CIRCUMFLEX ACCENT)
+SC01B::SendInput, {U+005E}
; Map AltGr + button right of Å from dead ~(tilde) to living ~(tilde)
<^>!SC01B::SendInput, {U+007E}
映射具有以下格式:
<mods>SC<sc>::SendInput, {<codepoint>}
在哪里:
<mods>
:创建死键时按下的修饰键,例如+
forShift
或<^>!
for AltGr
。您可以在此处查看所有热键修饰符符号:https://www.autohotkey.com/docs/v1/Hotkeys.htm#Symbols
<sc>
:您正在按下的键的扫描码。可以通过创建并运行 AutoHotKey 脚本来找到它,这样 AutoHotKey 图标就会显示在任务栏中,然后右键单击 AutoHotKey 图标 > 打开 > 查看 > 键历史记录和脚本信息。按下您的键,然后F5
进行更新。它应该看起来像这样:
VK SC Type Up/Dn Elapsed Key Window
-------------------------------------------------------------------------------------------------------------
74 03F u 0.11 F5
DB 00D d 2.06 \
DB 00D u 0.08 \
74 03F d 0.33 F5
Press [F5] to refresh.
第二列告诉我们所需键的扫描码是00D
<codepoint>
:所需字母的 Unicode 代码点。可以通过将死字符输入到以下页面来找到该代码点,例如文件格式信息,这告诉我们该字符`
有代码点U+0060
。
综合这些我们得到:
+SC00D::SendInput, {U+0060}
使`
钥匙不死。