如何在 Windows 中键入重音字符?

ada*_*box 51 windows keyboard

我听说你可以按住 alt 并输入一些神秘的数字代码来获得像重音字母这样的字符。有没有办法更像mac方式

Dre*_*pin 24

本机软件选项

Windows 字符映射表

Windows 字符映射表

通过以下方法之一打开 Windows 字符映射表:

  • 转到开始?所有程序 ? 配件 ?系统工具 ?字符映射开始?视窗配件 ? 字符映射
  • 您可以Character Map在“开始”菜单搜索框中键入“ ”。
  • 您可以二次单击开始按钮,单击运行,键入“ charmap”,然后单击确定(或点击Enter)。
  • 您可以按Win+ R,键入“ charmap”,然后单击“确定”(或点击Enter)。
  • 您可以在桌面或其他位置为其创建快捷方式。
  • 如果在 Windows 7 上,您可以将其固定到任务栏或开始菜单

当您打开 Windows 字符映射表时,

  1. 找到你想要的角色。
  2. 单击将放大角色以仔细查看。
  3. 双击将字符添加到字符复制在底部文本框,内容待复制字符将在您的板夹放。然后,您可以将 ( Ctrl+ V)粘贴到要使用字符的位置。

键盘快捷键

要使用Alt键盘快捷键,您必须有一个带有专用数字键盘的键盘,并且必须打开 Numlock。你还必须知道你想要的字符的数量。例如,如果您想键入带有尖音符 (é) 的小写 e,那么您可以按住Alt键,然后键入Numpad 0, Numpad 2 , Numpad 3, Numpad 3。请记住,必须打开 Num Lock,并且必须使用数字键盘上的按键。您不能使用键盘顶部的数字键。

几种不同的方法来找出与字符相关的数字是什么。最简单的方法是使用 Windows 字符映射表,如果您在单击字符后注意到字符映射表的右下角,它会告诉您按键顺序。也有很多网站列出了这一点,例如将它们分成几类的网站

附加语言服务

您可以为西班牙语、德语、希腊语等添加额外的输入语言服务。

  1. 转到控制面板,然后单击时钟、语言和区域下的更改键盘或其他输入法
  2. 单击键盘和语言选项卡
  3. 单击更改键盘...按钮
  4. 单击添加...按钮
  5. 扩展使用您想要的字符的语言(例如西班牙语(墨西哥)
  6. 展开键盘
  7. 检查选项之一(例如拉丁美洲
  8. 单击确定按钮
  9. 单击应用按钮

之后,系统托盘中将出现一个语言选择器。然后,您可以单击它以打开语言选择菜单。

输入语言选择器

例如,如果您想输入小写字母e (é),那么您可以单击语言选择器,选择西班牙语 (墨西哥),然后按´键,然后按e。您应该确保切换回英语(美国)或任何您的母语。

请注意,您可以通过按Left Alt+在输入语言之间切换Left Shift,您还可以在上一节第 3 步之后到达的文本服务和输入语言对话框中的高级键设置选项卡下设置特定输入语言的热键。

硬件选项

正如其他人提到的,您可以购买带有重音字符的键盘,例如eBay 上售价 5.00 美元的拉丁/西班牙语键盘

第三方软件选项

这些选项将使您最接近 Mac 风格。在 Linux 中,您可以设置所谓的“组合键”,其行为类似于 Mac 方法。例如,要键入小写字母e (é),您可以执行Compose Key, ', e。因此,您可以搜索“为 Windows 编写密钥”并获得这些选项中的大多数。

  1. freecompose:适用于 Windows 2000 或更高版本。这是我个人使用和推荐的,因为它允许您添加、删除和更改键序列。
  2. AutoHotkey的与组合这个脚本@jay提及
  3. Unichars:也是一个 AutoHotkey 解决方案
  4. 所有字符
  5. WinCompose是一种 FOSS 本机应用程序解决方案,类似于freecompose,但可与 Linux compose 定义格式互操作。截至 2021/03,正在积极维护。与freecompose一样,可以修改序列定义。

就个人而言,我喜欢将我的“Compose Key”设置为Caps Lock键。但是很多人使用Left Alt钥匙。


Chr*_*ris 18

Ctrl+ ',然后让他们走,然后e给你 é

这将适用于元音,但在我的测试中,仅在某些情况下(例如 MS Office)。

  • 这已经工作了几十年,但显然最近在 Windows 10 中,他们无缘无故地取消了对此的支持。在我的键盘布局(芬兰语)中,例如 ñ 以前通过按 Alt Gr + ~ 然后按 n 来工作,现在它什么也不做。 (7认同)

小智 10

另一种方法是安装多语言键盘布局(例如加拿大多语言)并使用热键(Vista 和 7 中的 ALT+SHIFT)在该布局和普通键盘布局之间交替。


Jay*_*ick 8

我一直在使用这个来自这个论坛http://www.autohotkey.com/forum/topic570.html by 'jak' 的很棒的 AutoHotkey 脚本。只需将此脚本设置为在启动时运行:

有了这个,你可以做这样的事情

  • Windows + ` 然后 e 得到 è
  • Windows + : 然后 e 得到 ë

...等等

;====================================
;accents "top part" - this top part needs to be located at the top part (the 'run' part) of the ahk file
;====================================
;
;============ ----- Send Unicode Character - universal MS word-style accents in any application
;
SendInput:=DllCall("GetProcAddress",UInt,DllCall("GetModuleHandle",Str,"user32"),Str,"SendInput")
VarSetCapacity(SendUbuf, 56, 0) ; INIT SendU data strucure
NumPut(1, SendUbuf, 0, "Char")
NumPut(1, SendUbuf,28, "Char")
NumPut(0x40000, SendUbuf, 6)
NumPut(0x60000, SendUbuf,34)
;-----------------
;

;====================================
;accents "hotkey part" -  (this part can be located anywhere)
;====================================
;



SendU(UC) {                     ; Send Unicode Char, Pressed modifier keys stay active!
   Global                       ; SendUbuf, SendInput
   NumPut(UC, SendUbuf, 6, "Short")
   NumPut(UC, SendUbuf,34, "Short")
   Return DllCall(SendInput, UInt,2, UInt,&SendUbuf, Int,28)
}


a::
if accent=grave
;   sendinput,à
{
SendU(0x00e0)
}
else if accent=acute
{
;   Send,á
SendU(0x00e1)
}

else if accent=circumflex
;   sendinput,â
{
SendU(0x00e2)
}
else if accent=tilda
;    sendinput,ã
{
SendU(0x00e3)
}
else if accent=umlaut
;   sendinput,ä
{
SendU(0x00e4)
}
Gosub,TurnAccentsOff
Return


c::
if accent=cedilla
;    sendinput,ç
{
SendU(0x00e7)
}
Gosub,TurnAccentsOff
Return

e::
if accent=grave
;   sendinput,è
{
SendU(0x00e8)
}
else if accent=acute
;   sendinput,é
{
SendU(0x00e9)
}
else if accent=circumflex
;   sendinput,ê
{
SendU(0x00ea)
}
else if accent=umlaut
;   sendinput,ë
{
SendU(0x00eb)
}
Gosub,TurnAccentsOff
Return


i::
if accent=grave
;   sendinput,ì
{
SendU(0x00ec)
}
else if accent=acute
;   sendinput,í
{
SendU(0x00ed)
}
else if accent=circumflex
;   sendinput,î
{
SendU(0x00ee)
}
else if accent=umlaut
;  sendinput,ï
{
SendU(0x00ef)
}
Gosub,TurnAccentsOff
Return


n::
if accent=tilda
;    sendinput,ñ
{
SendU(0x00f1)
}
Gosub,TurnAccentsOff
Return

o::
if accent=grave
;   sendinput,ò
{
SendU(0x00f2)
}
else if accent=acute
;   sendinput,ó
{
SendU(0x00f3)
}
else if accent=circumflex
;   sendinput,ô
{
SendU(0x00f4)
}
else if accent=tilda
;    sendinput,õ
{
SendU(0x00f5)
}
else if accent=umlaut
;   sendinput,ö
{
SendU(0x00f6)
}
Gosub,TurnAccentsOff
Return


u::
if accent=grave
;   sendinput,ù
{
SendU(0x00f9)
}
else if accent=acute
;   sendinput,ú
{
SendU(0x00fa)
}
else if accent=circumflex
;   sendinput,û
{
SendU(0x00fb)
}
else if accent=umlaut
;   sendinput,ü
{
SendU(0x00fc)
}
Gosub,TurnAccentsOff
Return


+a::
if accent=grave
;   sendinput,À
{
SendU(0x00c0)
}
else if accent=acute
;   sendinput,Á
{
SendU(0x00c1)
}
else if accent=circumflex
;   sendinput,Â
{
SendU(0x00c2)
}
else if accent=tilda
;    sendinput,Ã
{
SendU(0x00c3)
}
else if accent=umlaut
;   sendinput,Ä
{
SendU(0x00c4)
}
Gosub,TurnAccentsOff
Return



+c::
if accent=cedilla
;    sendinput,Ç
{
SendU(0x00c7)
}
Gosub,TurnAccentsOff
Return


+e::
if accent=grave
;   sendinput,È
{
SendU(0x00c8)
}
else if accent=acute
;   sendinput,É
{
SendU(0x00c9)
}
else if accent=circumflex
;   sendinput,Ê
{
SendU(0x00ca)
}
else if accent=umlaut
;  sendinput,Ë
{
SendU(0x00cb)
}
Gosub,TurnAccentsOff
Return


+i::
if accent=acute
;   sendinput,Í
{
SendU(0x00cc)
}
else if accent=grave
;   sendinput,Ì
{
SendU(0x00cd)
}
else if accent=circumflex
;   sendinput,Î
{
SendU(0x00ce)
}
else if accent=umlaut
;   sendinput,Ï
{
SendU(0x00cf)
}
Gosub,TurnAccentsOff
Return


+n::
if accent=tilda
;    sendinput,Ñ
{
SendU(0x00d1)
}
Gosub,TurnAccentsOff
Return


+o::
if accent=grave
;   sendinput,Ò
{
SendU(0x00d2)
}
else if accent=acute
;   sendinput,Ó
{
SendU(0x00d3)
}
else if accent=circumflex
;   sendinput,Ô
{
SendU(0x00d4)
}
else if accent=tilda
;    sendinput,Õ
{
SendU(0x00d5)
}
else if accent=umlaut
;   sendinput,Ö
{
SendU(0x00d6)
}
Gosub,TurnAccentsOff
Return



+u::
if accent=grave
;   sendinput,ù
{
SendU(0x00d9)
}
else if accent=acute
;   sendinput,ú
{
SendU(0x00da)
}
else if accent=circumflex
;   sendinput,û
{
SendU(0x00db)
}
else if accent=umlaut
;   sendinput,ü
{
SendU(0x00dc)
}
Gosub,TurnAccentsOff
Return


TurnAccentsOff:
Hotkey,a,off
Hotkey,e,off
Hotkey,i,off
Hotkey,o,off
Hotkey,u,off
Hotkey,c,off
Hotkey,n,off
Hotkey,+a,off
Hotkey,+e,off
Hotkey,+i,off
Hotkey,+o,off
Hotkey,+u,off
Hotkey,+c,off
Hotkey,+n,off
Return

TurnAccentsOn:
Hotkey,a,on
Hotkey,e,on
Hotkey,i,on
Hotkey,o,on
Hotkey,u,on
Hotkey,c,on
Hotkey,n,on
Hotkey,+a,on
Hotkey,+e,on
Hotkey,+i,on
Hotkey,+o,on
Hotkey,+u,on
Hotkey,+c,on
Hotkey,+n,on
Return



<#'::
keywait, lwin
accent=acute
Gosub,TurnAccentsOn
Return



<#`::
keywait, lwin
accent=grave
Gosub,TurnAccentsOn
Return



<#6::
<#+6::
keywait, lwin
accent=circumflex
Gosub,TurnAccentsOn
Return



<#;::
<#+;::
keywait, lwin
accent=umlaut
Gosub,TurnAccentsOn
Return



<#,::
keywait, lwin
accent=cedilla
Gosub,TurnAccentsOn
Return



<#+`::
keywait, lwin
accent=tilda
Gosub,TurnAccentsOn
Return



Gosub,TurnAccentsOff
Run Code Online (Sandbox Code Playgroud)

还有一种更像 Mac 的方法,我在这里没有尝试过:http : //www.autohotkey.com/forum/topic30440.html


ada*_*box 5

Windows 太痛苦了。我一直在使用copypastechar来抓取它们并粘贴。:P

  • +1,因为它甚至包含☃ :-)(如果需要,还有什么方法可以访问 http://☃.net/!) (5认同)