ACP Keyboard v4.9.0
Rationale
Images
ISO
ANSI
Key table
Dead key table
Code reference table
Dead keys
Unicode
Rationale
There are thousands of keyboard layouts around. Why make a new one?
Simply: none of them worked for me. They either had too many symbols, not
enough symbols, or the layout was wrong. BÉPO came the closest to having the
main symbols I wanted, but I couldn’t get over the non-QWERTY
layout; and the Canadian
Multilingual Standard layout had the symbols I wanted, but they were
spread across six levels (AltGr and Right Ctrl both act as level
selectors).
So I made my own. There were a number of requirements for me:
The most common English symbols I need should be available.
No more than four levels (normal; Shift; AltGr; and Shift+AltGr).
Keys should be grouped sensibly: the guillemets in French are paired
with a non-breaking space, so they should be on the same level.
The main layout should be based on the US ANSI layout, but it should
also support an ISO layout with one key extra.
It should be able to be used without Administrative permissions. This
led me to AutoHotKey on Windows, and a $HOME -based XKB layout
on Linux.
There should be support for French, German, and Spanish—as there are
a number of loanwords from these languages into English—but this should
not come at the cost of ease of use for English.
The base layers (Layer 1 and Layer 2) should not be changed.
AutoHotKey has an issue with Command Prompt in Remote Desktop sessions,
so changing the base layers stops the keys from working. It also means
there is no training period for this layout.
Images
ISO
ISO keyboard layout
`
~
⁻
≈
1
!
¹
¡
2
@
²
©
3
#
³
£
4
$
¢
℅
5
%
€
‰
6
^
√
✓
7
&
⁊
✗
8
*
°
•
9
(
ª
0
)
º
-
_
−
÷
=
+
×
≠
Backspace
Tab
q
Q
à
À
w
W
é
É
e
E
ë
Ë
r
R
è
È
t
T
®
™
y
Y
û
Û
u
U
ü
Ü
i
I
ï
Ï
o
O
ö
Ö
p
P
¶
§
[
{
‘
“
]
}
’
”
Caps Lock
a
A
ä
Ä
s
S
ß
ẞ
d
D
◌̈
″
f
F
◌́
′
g
G
◌̄
«
h
H
»
j
J
◌̀
‹
k
K
◌̂
›
l
L
ô
Ô
;
:
;
:
'
"
‚
„
\
|
Shift
\
|
ê
Ê
z
Z
æ
Æ
x
X
œ
Œ
c
C
ç
Ç
v
V
—
b
B
–
‑
n
N
ñ
Ñ
m
M
μ
Ω
,
<
…
≤
.
>
⋅
≥
/
?
±
¿
Shift
Ctrl
Win
Alt
Space
Space
Thin space
Non-breaking space
AltGr
Win
Menu
Ctrl
Return
ANSI
ANSI keyboard layout
`
~
⁻
≈
1
!
¹
¡
2
@
²
©
3
#
³
£
4
$
¢
℅
5
%
€
‰
6
^
√
✓
7
&
⁊
✗
8
*
°
•
9
(
ª
0
)
º
-
_
−
÷
=
+
×
≠
Backspace
Tab
q
Q
à
À
w
W
é
É
e
E
ë
Ë
r
R
è
È
t
T
®
™
y
Y
û
Û
u
U
ü
Ü
i
I
ï
Ï
o
O
ö
Ö
p
P
¶
§
[
{
‘
“
]
}
’
”
\
|
Caps Lock
a
A
ä
Ä
s
S
ß
ẞ
d
D
◌̈
″
f
F
◌́
′
g
G
◌̄
«
h
H
»
j
J
◌̀
‹
k
K
◌̂
›
l
L
ô
Ô
;
:
;
:
'
"
‚
„
Return
Shift
z
Z
æ
Æ
x
X
œ
Œ
c
C
ç
Ç
v
V
—
b
B
–
‑
n
N
ñ
Ñ
m
M
μ
Ω
,
<
…
≤
.
>
⋅
≥
/
?
±
¿
Shift
Ctrl
Win
Alt
Space
Space
Thin space
Non-breaking space
AltGr
Win
Menu
Ctrl
Key table
Key
US
ACP
ISO
XKB
Win
Level 1
Level 2
Level 3
Level 4
E00
TLDE
SC029
U+0060 `
U+007E ~
U+207B ⁻
U+2248 ≈
E01
AE01
SC002
U+0031 1
U+0021 !
U+00B9 ¹
U+00A1 ¡
E02
AE02
SC003
U+0032 2
U+0040 @
U+00B2 ²
U+00A9 ©
E03
AE03
SC004
U+0033 3
U+0023 #
U+00B3 ³
U+00A3 £
E04
AE04
SC005
U+0034 4
U+0024 $
U+00A2 ¢
U+2105 ℅
E05
AE05
SC006
U+0035 5
U+0025 %
U+20AC €
U+2030 ‰
E06
AE06
SC007
U+0036 6
U+005E ^
U+221A √
U+2713 ✓
E07
AE07
SC008
U+0037 7
U+0026 &
U+204A ⁊
U+2717 ✗
E08
AE08
SC009
U+0038 8
U+002A *
U+00B0 °
U+2022 •
E09
AE09
SC00A
U+0039 9
U+0028 (
U+00AA ª
E10
AE10
SC00B
U+0030 0
U+0029 )
U+00BA º
E11
AE11
SC00C
U+002D -
U+005F _
U+2212 −
U+00F7 ÷
E12
AE12
SC00D
U+003D =
U+002B +
U+00D7 ×
U+2260 ≠
D01
AD01
SC010
U+0071 q
U+0051 Q
U+00E0 à
U+00C0 À
D02
AD02
SC011
U+0077 w
U+0057 W
U+00E9 é
U+00C9 É
D03
AD03
SC012
U+0065 e
U+0045 E
U+00EB ë
U+00CB Ë
D04
AD04
SC013
U+0072 r
U+0052 R
U+00E8 è
U+00C8 È
D05
AD05
SC014
U+0074 t
U+0054 T
U+00AE ®
U+2122 ™
D06
AD06
SC015
U+0079 y
U+0059 Y
U+00FB û
U+00DB Û
D07
AD07
SC016
U+0075 u
U+0055 U
U+00FC ü
U+00DC Ü
D08
AD08
SC017
U+0069 i
U+0049 I
U+00EF ï
U+00CF Ï
D09
AD09
SC018
U+006F o
U+004F O
U+00F6 ö
U+00D6 Ö
D10
AD10
SC019
U+0070 p
U+0050 P
U+00B6 ¶
U+00A7 §
D11
AD11
SC01A
U+005B [
U+007B {
U+2018 ‘
U+201C “
D12
AD12
SC01B
U+005D ]
U+007D }
U+2019 ’
U+201D ”
D13 / C12
BKSL
SC02B
U+005C \
U+007C |
C01
AC01
SC01E
U+0061 a
U+0041 A
U+00E4 ä
U+00C4 Ä
C02
AC02
SC01F
U+0073 s
U+0053 S
U+00DF ß
U+1E9E ẞ
C03
AC03
SC020
U+0064 d
U+0044 D
DEADDI ◌̈
U+2033 ″
C04
AC04
SC021
U+0066 f
U+0046 F
DEADAC ◌́
U+2032 ′
C05
AC05
SC022
U+0067 g
U+0047 G
DEADMA ◌̄
U+00AB «
C06
AC06
SC023
U+0068 h
U+0048 H
U+00BB »
C07
AC07
SC024
U+006A j
U+004A J
DEADGR ◌̀
U+2039 ‹
C08
AC08
SC025
U+006B k
U+004B K
DEADCI ◌̂
U+203A ›
C09
AC09
SC026
U+006C l
U+004C L
U+00F4 ô
U+00D4 Ô
C10
AC10
SC027
U+003B ;
U+003A :
U+003B ;
U+003A :
C11
AC11
SC028
U+0027 '
U+0022 "
U+201A ‚
U+201E „
B00
LSGT
SC056
U+005C \
U+007C |
U+00EA ê
U+00CA Ê
B01
AB01
SC02C
U+007A z
U+005A Z
U+00E6 æ
U+00C6 Æ
B02
AB02
SC02D
U+0078 x
U+0058 X
U+0153 œ
U+0152 Œ
B03
AB03
SC02E
U+0063 c
U+0043 C
U+00E7 ç
U+00C7 Ç
B04
AB04
SC02F
U+0076 v
U+0056 V
U+2014 —
B05
AB05
SC030
U+0062 b
U+0042 B
U+2013 –
U+2011 ‑
B06
AB06
SC031
U+006E n
U+004E N
U+00F1 ñ
U+00D1 Ñ
B07
AB07
SC032
U+006D m
U+004D M
U+03BC μ
U+03A9 Ω
B08
AB08
SC033
U+002C ,
U+003C <
U+2026 …
U+2264 ≤
B09
AB09
SC034
U+002E .
U+003E >
U+22C5 ⋅
U+2265 ≥
B10
AB10
SC035
U+002F /
U+003F ?
U+00B1 ±
U+00BF ¿
SPC
SPCE
SC039
U+0020
U+0020
U+2009
U+00A0
Dead key table
Dead key
Next key
Result
DEADAC
U+0027 '
DEADAC
A
U+00C1 Á
DEADAC
E
U+00C9 É
DEADAC
I
U+00CD Í
DEADAC
O
U+00D3 Ó
DEADAC
U
U+00DA Ú
DEADAC
W
U+1E82 Ẃ
DEADAC
Y
U+00DD Ý
DEADAC
a
U+00E1 á
DEADAC
e
U+00E9 é
DEADAC
i
U+00ED í
DEADAC
o
U+00F3 ó
DEADAC
u
U+00FA ú
DEADAC
w
U+1E83 ẃ
DEADAC
y
U+00FD ý
DEADCI
U+005E ^
DEADCI
A
U+00C2 Â
DEADCI
E
U+00CA Ê
DEADCI
I
U+00CE Î
DEADCI
O
U+00D4 Ô
DEADCI
U
U+00DB Û
DEADCI
W
U+0174 Ŵ
DEADCI
Y
U+0176 Ŷ
DEADCI
a
U+00E2 â
DEADCI
e
U+00EA ê
DEADCI
i
U+00EE î
DEADCI
o
U+00F4 ô
DEADCI
u
U+00FB û
DEADCI
w
U+0175 ŵ
DEADCI
y
U+0177 ŷ
DEADDI
U+0022 "
DEADDI
A
U+00C4 Ä
DEADDI
E
U+00CB Ë
DEADDI
I
U+00CF Ï
DEADDI
O
U+00D6 Ö
DEADDI
U
U+00DC Ü
DEADDI
W
U+1E84 Ẅ
DEADDI
Y
U+0178 Ÿ
DEADDI
a
U+00E4 ä
DEADDI
e
U+00EB ë
DEADDI
i
U+00EF ï
DEADDI
o
U+00F6 ö
DEADDI
u
U+00FC ü
DEADDI
w
U+1E85 ẅ
DEADDI
y
U+00FF ÿ
DEADGR
U+0060 `
DEADGR
A
U+00C0 À
DEADGR
E
U+00C8 È
DEADGR
I
U+00CC Ì
DEADGR
O
U+00D2 Ò
DEADGR
U
U+00D9 Ù
DEADGR
W
U+1E80 Ẁ
DEADGR
Y
U+1EF2 Ỳ
DEADGR
a
U+00E0 à
DEADGR
e
U+00E8 è
DEADGR
i
U+00EC ì
DEADGR
o
U+00F2 ò
DEADGR
u
U+00F9 ù
DEADGR
w
U+1E81 ẁ
DEADGR
y
U+1EF3 ỳ
DEADMA
U+00AF ¯
DEADMA
A
U+0100 Ā
DEADMA
E
U+0112 Ē
DEADMA
I
U+012A Ī
DEADMA
O
U+014C Ō
DEADMA
U
U+016A Ū
DEADMA
Y
U+0232 Ȳ
DEADMA
a
U+0101 ā
DEADMA
e
U+0113 ē
DEADMA
i
U+012B ī
DEADMA
o
U+014D ō
DEADMA
u
U+016B ū
DEADMA
y
U+0233 ȳ
Code reference table
Dead keys
DEADAC DEAD KEY ACUTE ACCENT
DEADCI DEAD KEY CIRCUMFLEX
DEADDI DEAD KEY DIAERESIS
DEADGR DEAD KEY GRAVE ACCENT
DEADMA DEAD KEY MACRON
Unicode
U+0020 SPACE
U+0021 EXCLAMATION MARK
U+0022 QUOTATION MARK
U+0023 NUMBER SIGN
U+0024 DOLLAR SIGN
U+0025 PERCENT SIGN
U+0026 AMPERSAND
U+0027 APOSTROPHE
U+0028 LEFT PARENTHESIS
U+0029 RIGHT PARENTHESIS
U+002A ASTERISK
U+002B PLUS SIGN
U+002C COMMA
U+002D HYPHEN-MINUS
U+002E FULL STOP
U+002F SLASH
U+0030 DIGIT ZERO
U+0031 DIGIT ONE
U+0032 DIGIT TWO
U+0033 DIGIT THREE
U+0034 DIGIT FOUR
U+0035 DIGIT FIVE
U+0036 DIGIT SIX
U+0037 DIGIT SEVEN
U+0038 DIGIT EIGHT
U+0039 DIGIT NINE
U+003A COLON
U+003B SEMICOLON
U+003C LESS-THAN SIGN
U+003D EQUAL SIGN
U+003E GREATER-THAN SIGN
U+003F QUESTION MARK
U+0040 AT SIGN
U+0041 LATIN CAPITAL LETTER A
U+0042 LATIN CAPITAL LETTER B
U+0043 LATIN CAPITAL LETTER C
U+0044 LATIN CAPITAL LETTER D
U+0045 LATIN CAPITAL LETTER E
U+0046 LATIN CAPITAL LETTER F
U+0047 LATIN CAPITAL LETTER G
U+0048 LATIN CAPITAL LETTER H
U+0049 LATIN CAPITAL LETTER I
U+004A LATIN CAPITAL LETTER J
U+004B LATIN CAPITAL LETTER K
U+004C LATIN CAPITAL LETTER L
U+004D LATIN CAPITAL LETTER M
U+004E LATIN CAPITAL LETTER N
U+004F LATIN CAPITAL LETTER O
U+0050 LATIN CAPITAL LETTER P
U+0051 LATIN CAPITAL LETTER Q
U+0052 LATIN CAPITAL LETTER R
U+0053 LATIN CAPITAL LETTER S
U+0054 LATIN CAPITAL LETTER T
U+0055 LATIN CAPITAL LETTER U
U+0056 LATIN CAPITAL LETTER V
U+0057 LATIN CAPITAL LETTER W
U+0058 LATIN CAPITAL LETTER X
U+0059 LATIN CAPITAL LETTER Y
U+005A LATIN CAPITAL LETTER Z
U+005B LEFT SQUARE BRACKET
U+005C BACKSLASH
U+005D RIGHT SQUARE BRACKET
U+005E CIRCUMFLEX ACCENT
U+005F LOW LINE
U+0060 GRAVE ACCENT
U+0061 LATIN SMALL LETTER A
U+0062 LATIN SMALL LETTER B
U+0063 LATIN SMALL LETTER C
U+0064 LATIN SMALL LETTER D
U+0065 LATIN SMALL LETTER E
U+0066 LATIN SMALL LETTER F
U+0067 LATIN SMALL LETTER G
U+0068 LATIN SMALL LETTER H
U+0069 LATIN SMALL LETTER I
U+006A LATIN SMALL LETTER J
U+006B LATIN SMALL LETTER K
U+006C LATIN SMALL LETTER L
U+006D LATIN SMALL LETTER M
U+006E LATIN SMALL LETTER N
U+006F LATIN SMALL LETTER O
U+0070 LATIN SMALL LETTER P
U+0071 LATIN SMALL LETTER Q
U+0072 LATIN SMALL LETTER R
U+0073 LATIN SMALL LETTER S
U+0074 LATIN SMALL LETTER T
U+0075 LATIN SMALL LETTER U
U+0076 LATIN SMALL LETTER V
U+0077 LATIN SMALL LETTER W
U+0078 LATIN SMALL LETTER X
U+0079 LATIN SMALL LETTER Y
U+007A LATIN SMALL LETTER Z
U+007B LEFT CURLY BRACKET
U+007C VERTICAL BAR
U+007D RIGHT CURLY BRACKET
U+007E TILDE
U+00A0 NO-BREAK SPACE
U+00A1 INVERTED EXCLAMATION MARK
U+00A2 CENT SIGN
U+00A3 POUND SIGN
U+00A7 SECTION SIGN
U+00A9 COPYRIGHT SIGN
U+00AA FEMININE ORDINAL INDICATOR
U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00AC NOT SIGN
U+00AE REGISTERED SIGN
U+00AF MACRON
U+00B0 DEGREE SIGN
U+00B1 PLUS-MINUS SIGN
U+00B2 SUPERSCRIPT TWO
U+00B3 SUPERSCRIPT THREE
U+00B6 PILCROW SIGN
U+00BA MASCULINE ORDINAL INDICATOR
U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00BF INVERTED QUESTION MARK
U+00C0 LATIN CAPITAL LETTER A WITH GRAVE
U+00C1 LATIN CAPITAL LETTER A WITH ACUTE
U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
U+00C6 LATIN CAPITAL LETTER AE
U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA
U+00C8 LATIN CAPITAL LETTER E WITH GRAVE
U+00C9 LATIN CAPITAL LETTER E WITH ACUTE
U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS
U+00CC LATIN CAPITAL LETTER I WITH GRAVE
U+00CD LATIN CAPITAL LETTER I WITH ACUTE
U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS
U+00D1 LATIN CAPITAL LETTER N WITH TILDE
U+00D2 LATIN CAPITAL LETTER O WITH GRAVE
U+00D3 LATIN CAPITAL LETTER O WITH ACUTE
U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
U+00D7 MULTIPLICATION SIGN
U+00D9 LATIN CAPITAL LETTER U WITH GRAVE
U+00DA LATIN CAPITAL LETTER U WITH ACUTE
U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS
U+00DD LATIN CAPITAL LETTER Y WITH ACUTE
U+00DF LATIN SMALL LETTER SHARP S
U+00E0 LATIN SMALL LETTER A WITH GRAVE
U+00E1 LATIN SMALL LETTER A WITH ACUTE
U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
U+00E6 LATIN SMALL LETTER AE
U+00E7 LATIN SMALL LETTER C WITH CEDILLA
U+00E8 LATIN SMALL LETTER E WITH GRAVE
U+00E9 LATIN SMALL LETTER E WITH ACUTE
U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
U+00EB LATIN SMALL LETTER E WITH DIAERESIS
U+00EC LATIN SMALL LETTER I WITH GRAVE
U+00ED LATIN SMALL LETTER I WITH ACUTE
U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
U+00EF LATIN SMALL LETTER I WITH DIAERESIS
U+00F1 LATIN SMALL LETTER N WITH TILDE
U+00F2 LATIN SMALL LETTER O WITH GRAVE
U+00F3 LATIN SMALL LETTER O WITH ACUTE
U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
U+00F7 DIVISION SIGN
U+00F9 LATIN SMALL LETTER U WITH GRAVE
U+00FA LATIN SMALL LETTER U WITH ACUTE
U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
U+00FC LATIN SMALL LETTER U WITH DIAERESIS
U+00FD LATIN SMALL LETTER Y WITH ACUTE
U+00FF LATIN SMALL LETTER Y WITH DIAERESIS
U+0100 LATIN CAPITAL LETTER A WITH MACRON
U+0101 LATIN SMALL LETTER A WITH MACRON
U+0112 LATIN CAPITAL LETTER E WITH MACRON
U+0113 LATIN SMALL LETTER E WITH MACRON
U+012A LATIN CAPITAL LETTER I WITH MACRON
U+012B LATIN SMALL LETTER I WITH MACRON
U+014C LATIN CAPITAL LETTER O WITH MACRON
U+014D LATIN SMALL LETTER O WITH MACRON
U+0152 LATIN CAPITAL LIGATURE OE
U+0153 LATIN SMALL LIGATURE OE
U+016A LATIN CAPITAL LETTER U WITH MACRON
U+016B LATIN SMALL LETTER U WITH MACRON
U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
U+0232 LATIN CAPITAL LETTER Y WITH MACRON
U+0233 LATIN SMALL LETTER Y WITH MACRON
U+0300 COMBINING GRAVE ACCENT
U+0301 COMBINING ACUTE ACCENT
U+0302 COMBINING CIRCUMFLEX ACCENT
U+0304 COMBINING MACRON
U+0308 COMBINING DIAERESIS
U+0327 COMBINING CEDILLA
U+03A9 GREEK CAPITAL LETTER OMEGA
U+03BC GREEK SMALL LETTER MU
U+00B9 SUPERSCRIPT ONE
U+1E80 LATIN CAPITAL LETTER W WITH GRAVE
U+1E81 LATIN SMALL LETTER W WITH GRAVE
U+1E82 LATIN CAPITAL LETTER W WITH ACUTE
U+1E83 LATIN SMALL LETTER W WITH ACUTE
U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS
U+1E85 LATIN SMALL LETTER W WITH DIAERESIS
U+1E9E LATIN CAPITAL LETTER SHARP S
U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE
U+1EF3 LATIN SMALL LETTER Y WITH GRAVE
U+2009 THIN SPACE
U+2011 NON-BREAKING HYPHEN
U+2013 EN DASH
U+2014 EM DASH
U+2018 LEFT SINGLE QUOTATION MARK
U+2019 RIGHT SINGLE QUOTATION MARK
U+201A SINGLE LOW-9 QUOTATION MARK
U+201C LEFT DOUBLE QUOTATION MARK
U+201D RIGHT DOUBLE QUOTATION MARK
U+201E DOUBLE LOW-9 QUOTATION MARK
U+2022 BULLET
U+2026 HORIZONTAL ELLIPSIS
U+2030 PER MILLE SIGN
U+2032 PRIME
U+2033 DOUBLE PRIME
U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
U+204A TIRONIAN SIGN ET
U+207B SUPERSCRIPT MINUS
U+20AC EURO SIGN
U+2105 CARE OF
U+2122 TRADE MARK SIGN
U+2212 MINUS SIGN
U+221A SQUARE ROOT
U+2248 ALMOST EQUAL TO
U+2260 NOT EQUAL TO
U+2264 LESS-THAN OR EQUAL TO
U+2265 GREATER-THAN OR EQUAL TO
U+22C5 DOT OPERATOR
U+2713 CHECK MARK
U+2717 BALLOT X