How do I type special characters (Alt+0???) in Windows on a laptop without any kind of numeric keyboard (even not one accessed by FN)?
Right now I am using the NT 4 charmap (the XP one sucks), but does anyone know of a more efficient way?
How do I type special characters (Alt+0???) in Windows on a laptop without any kind of numeric keyboard (even not one accessed by FN)?
Right now I am using the NT 4 charmap (the XP one sucks), but does anyone know of a more efficient way?
This can be achieved with an AutoHotkey script.
<!1::Numpad1
<!2::Numpad2
<!3::Numpad3
<!4::Numpad4
<!5::Numpad5
<!6::Numpad6
<!7::Numpad7
<!8::Numpad8
<!9::Numpad9
<!0::Numpad0
<!+::NumpadAdd
The line <!1::Numpad1
simulates pressing the key 1 on the numeric keypad when the key combination on the left side of ::
is pressed.
Here, <!
represents the left Alt key and 1
the key 1.
As a result, pressing you can use the "regular" as if they were on the numeric keypad.
Note:
If your keyboards has two Alt keys (rather than an AltGr key), you can make this work with the right Alt key as well. It suffices to remove all <
characters.
The line <!+::NumpadAdd
is only needed if you want to type Unicode characters using hexadecimal codes.
Download and install the latest version of AutoHotkey.
Save the above script as numpad.ahk
, using your favorite text editor.
Double-click the file to run the script.
If you wish, copy the script (or a link to it) in the Startup
folder.
<!
with a <^>!
to use AltGr instead of AltLeft but it won't work. Any idea why?
1
to Num1
goes. The problem is that you're still pressing the AltGr
key, not Alt
alone (which wouldn't work with the real numpad either). There might be a way around it, but I can't see it. You could post a new question.
I tried the Unicode IME, and it works. Now I have to remember all the codepoints.
You need to open the appropriate part of Control-Panel, In WIn-7 it is something like
Region and Language
Keyboards and Languages
, Keyboard
The linked page (dated 2005) describes (presumably for XP)
Add Input Language
Input Language
= Chinese (Taiwan)
Keyboard Layout/IME
= Chinese (Traditional) - Unicode
(Details obviously vary between Windows versions)
The linked page continues
Simple to use -- just switch to it with and start typing hex numbers in any application....
and then when you type a full Unicode code point, it will commit the character automatically!
The official Microsoft "Unicode IME" described above was removed in Vista and is not present in Windows 7.
An MSDN Blog has some instructions for Adding back a Unicode IME - but it seems to have been a work in progress at that time.
I have installed this Unicode IME under Windows-7 64-bit and it works well.
To install the IME, you
\Program Files\Windows NT\TableTextService
and then cd
to the above directory and rundll32 TableTextService.dll RegisterProfile TableTextServiceUnicode.txt
You press Left Alt+Shift to switch to Unicode IME (or back again). The cursor shape changes to an underscore and the keyboard icon in the system notification area changes accordingly. If you then type four hex digits into Notepad (or other application?), the Unicode character for that Unicode code-point is inserted.
Below is the start and end of the IME text-file definition, The copyright/licence for the original is not clear but it appears to be intended to be freely available.
[System]
LangId = LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
GuidProfile={ECD4D0E2-BC06-4726-AFB4-5EB43538B683}
Description="Unicode IME"
Display Description="Unicode IME"
[Configuration]
CandidateList.Phrase.HideWindow=1
CandidateList.Text.HideWindow=1
ReadingWindow.HideWindow=1
CandidateList.dontShowNextKeySequence=1
CandidateList.KeepCandidateListForInvalidKey=1
Composition.ConversionOnlyOneItem=1
Composition.QuitAndErrorOnConversion=1
[PreservedKey]
GuidImeMode={98213494-367A-4855-90A1-97D917E3EC3D}
KeyDefineImeMode=VK_SHIFT, TF_MOD_ON_KEYUP_SHIFT_ONLY
ImeMode=1
DoubleSingleByte=0
Punctuation=0
[LanguageBar]
EnableImeMode=0
EnableDoubleSingleByte=0
EnablePunctuation=0
[Profile]
KeystrokeFile ="%programFiles%\Windows NT\TableTextService\TableTextServiceUnicode.txt"
DictionaryFile="%programFiles%\Windows NT\TableTextService\TableTextServiceUnicode.txt"
[Keystroke.Composition]
VK_1, 0 = INPUT // 1
VK_2, 0 = INPUT // 2
VK_3, 0 = INPUT // 3
VK_4, 0 = INPUT // 4
VK_5, 0 = INPUT // 5
VK_6, 0 = INPUT // 6
VK_7, 0 = INPUT // 7
VK_8, 0 = INPUT // 8
VK_9, 0 = INPUT // 9
VK_0, 0 = INPUT // 0
VK_A, 0 = INPUT // A
VK_B, 0 = INPUT // B
VK_C, 0 = INPUT // C
VK_D, 0 = INPUT // D
VK_E, 0 = INPUT // E
VK_F, 0 = INPUT // F
[Text]
"0020" = " "
"0021" = "!"
"0022" ="
"0023" = "#"
"0024" = "$"
"0025" = "%"
"0026" = "&"
"0027" = "'"
"0028" = "("
"0029" = ")"
"002a" = "*"
"002b" = "+"
"002c" = ","
"002d" = "-"
"002e" = "."
"002f" = "/"
"0030" = "0"
"0031" = "1"
"0032" = "2"
"0033" = "3"
"0034" = "4"
middle part removed for brevity (and because copyright unclear)
"ffeb" = "→"
"ffec" = "↓"
"ffed" = "■"
"ffee" = "○"
"fff9" = ""
"fffa" = ""
"fffb" = ""
"fffc" = ""
"fffd" = "�"