summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
Diffstat (limited to 'windows')
-rw-r--r--windows/neo-vars/src/source/initialize.ahk5
-rw-r--r--windows/neo-vars/src/source/keydefinitions.ahk512
-rw-r--r--windows/neo-vars/src/source/keyhooks.ahk131
-rw-r--r--windows/neo-vars/src/source/shortcuts.ahk125
4 files changed, 465 insertions, 308 deletions
diff --git a/windows/neo-vars/src/source/initialize.ahk b/windows/neo-vars/src/source/initialize.ahk
index 478d5e9..22d2c7c 100644
--- a/windows/neo-vars/src/source/initialize.ahk
+++ b/windows/neo-vars/src/source/initialize.ahk
@@ -57,7 +57,7 @@ regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputloc
if (inputlocalealias<>"")
inputlocale:=inputlocalealias
-if (inputlocale<>"00000407") {
+if (inputlocale<>"00000407" and inputlocale<>"00000807") {
suspend
regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text
msgbox, 48, Warnung!,
@@ -89,6 +89,9 @@ IsMod4Pressed := 0
IsMod4Locked := 0
EbeneAktualisieren()
+ActivateLayOut(inputlocale)
+
+TheKeys()
if (dynamischesCompose)
LoadCurrentCompose()
diff --git a/windows/neo-vars/src/source/keydefinitions.ahk b/windows/neo-vars/src/source/keydefinitions.ahk
index 5906768..03c86c9 100644
--- a/windows/neo-vars/src/source/keydefinitions.ahk
+++ b/windows/neo-vars/src/source/keydefinitions.ahk
@@ -1,54 +1,57 @@
+; äüö
+
+thekeys() {
; KeyCode Ebene1 Ebene2 Ebene3 Ebene4 Ebene5 Ebene6 Ebene7* Ebene8*
; Reihe 1
-ED("VKDCSC029",0,"Tcflx","Ttlde","Tobrg","Tcron","Tbrve","Tmcrn") ; circumflex
-ED("VK31SC002",0,"U0031","U00B0","U00B9","U00AA","U2081","U00AC") ; 1
-ED("VK32SC003",0,"U0032","U00A7","U00B2","U00BA","U2082","U2228") ; 2
-ED("VK33SC004",0,"U0033","U2113","U00B3","U2116","U2083","U2227") ; 3
-ED("VK34SC005",0,"U0034","U00BB","U203A","SPgUp","U2640","U22A5") ; 4
-ED("VK35SC006",0,"U0035","U00AB","U2039","U00B7","U2642","U2221") ; 5
-ED("VK36SC007",0,"U0036","U0024","U00A2","U00A3","U26A5","U2225") ; 6
-ED("VK37SC008",0,"U0037","U20AC","U00A5","U00A4","U03BA","U2192") ; 7
-ED("VK38SC009",0,"U0038","U201E","U201A","" ,"U27E8","U221E") ; 8
-ED("VK39SC00A",0,"U0039","U201C","U2018","SNDiv","U27E9","U220B") ; 9
-ED("VK30SC00B",0,"U0030","U201D","U2019","SNMul","U2080","U2205") ; 0
-ED("VKDBSC00C",0,"U002D","U2014","" ,"SNSub","U2011","U00AD") ; -
-ED("VKDDSC00D",0,"Tgrav","" ,"Tdrss","Tdgrv","U1FFE","" ) ; grave
+EDS("029",0,"Tcflx","Ttlde","Tobrg","Tcron","Tbrve","Tmcrn") ; circumflex
+EDS("002",0,"U0031","U00B0","U00B9","U00AA","U2081","U00AC") ; 1
+EDS("003",0,"U0032","U00A7","U00B2","U00BA","U2082","U2228") ; 2
+EDS("004",0,"U0033","U2113","U00B3","U2116","U2083","U2227") ; 3
+EDS("005",0,"U0034","U00BB","U203A","SPgUp","U2640","U22A5") ; 4
+EDS("006",0,"U0035","U00AB","U2039","U00B7","U2642","U2221") ; 5
+EDS("007",0,"U0036","U0024","U00A2","U00A3","U26A5","U2225") ; 6
+EDS("008",0,"U0037","U20AC","U00A5","U00A4","U03BA","U2192") ; 7
+EDS("009",0,"U0038","U201E","U201A","" ,"U27E8","U221E") ; 8
+EDS("00A",0,"U0039","U201C","U2018","SNDiv","U27E9","U220B") ; 9
+EDS("00B",0,"U0030","U201D","U2019","SNMul","U2080","U2205") ; 0
+EDS("00C",0,"U002D","U2014","" ,"SNSub","U2011","U00AD") ; -
+EDS("00D",0,"Tgrav","" ,"Tdrss","Tdgrv","U1FFE","" ) ; grave
; Reihe 2
-ED("VK51SC010",1,"U0078","U0058","U2026","U22EE","U03BE","U039E") ; x
-ED("VK57SC011",1,"U0076","U0056","U005F","U0008","" ,"U222E") ; v
-ED("VK45SC012",1,"U006C","U004C","U005B","S__Up","U03BB","U039B") ; l
-ED("VK52SC013",1,"U0063","U0043","U005D","S_Del","U03C7","U2102") ; c
-ED("VK54SC014",1,"U0077","U0057","U005E","S_Ins","U03C9","U03A9") ; w
-ED("VK5ASC015",1,"U006B","U004B","U0021","U00A1","U03F0","U221A") ; k
-ED("VK55SC016",1,"U0068","U0048","U003C","SN__7","U03C8","U03A8") ; h
-ED("VK49SC017",1,"U0067","U0047","U003E","SN__8","U03B3","U0393") ; g
-ED("VK4FSC018",1,"U0066","U0046","U003D","SN__9","U03C6","U03A6") ; f
-ED("VK50SC019",1,"U0071","U0051","U0026","SNAdd","U03D5","U211A") ; q
-ED("VKBASC01A",1,"U00DF","U1E9E","U017F","" ,"U03C2","U2218") ;
-ED("VKBBSC01B",0,"Tacut","Tcedi","Tstrk","Tdbac","U1FBF","Tabdt") ; acute
+EDS("010",1,"U0078","U0058","U2026","U22EE","U03BE","U039E") ; x
+EDS("011",1,"U0076","U0056","U005F","U0008","" ,"U222E") ; v
+EDS("012",1,"U006C","U004C","U005B","S__Up","U03BB","U039B") ; l
+EDS("013",1,"U0063","U0043","U005D","S_Del","U03C7","U2102") ; c
+EDS("014",1,"U0077","U0057","U005E","S_Ins","U03C9","U03A9") ; w
+EDS("015",1,"U006B","U004B","U0021","U00A1","U03F0","U221A") ; k
+EDS("016",1,"U0068","U0048","U003C","SN__7","U03C8","U03A8") ; h
+EDS("017",1,"U0067","U0047","U003E","SN__8","U03B3","U0393") ; g
+EDS("018",1,"U0066","U0046","U003D","SN__9","U03C6","U03A6") ; f
+EDS("019",1,"U0071","U0051","U0026","SNAdd","U03D5","U211A") ; q
+EDS("01A",1,"U00DF","U1E9E","U017F","" ,"U03C2","U2218") ; ß
+EDS("01B",0,"Tacut","Tcedi","Tstrk","Tdbac","U1FBF","Tabdt") ; acute
; Reihe 3
-ED("VK41SC01E",1,"U0075","U0055","U005C","SHome","" ,"U00B5") ; u
-ED("VK53SC01F",1,"U0069","U0049","U002F","SLeft","U03B9","U222B") ; i
-ED("VK44SC020",1,"U0061","U0041","U007B","SDown","U03B1","U2200") ; a
-ED("VK46SC021",1,"U0065","U0045","U007D","SRght","U03B5","U2203") ; e
-ED("VK47SC022",1,"U006F","U004F","U002A","S_End","U03BF","U2208") ; o
-ED("VK48SC023",1,"U0073","U0053","U003F","U00BF","U03C3","U03A3") ; s
-ED("VK4ASC024",1,"U006E","U004E","U0028","SN__4","U03BD","U2115") ; n
-ED("VK4BSC025",1,"U0072","U0052","U0029","SN__5","U03F1","U211D") ; r
-ED("VK4CSC026",1,"U0074","U0054","U002D","SN__6","U03C4","U2202") ; t
-ED("VKC0SC027",1,"U0064","U0044","U003A","SNDot","U03B4","U0394") ; d
-ED("VKDESC028",1,"U0079","U0059","U0040","U002E","U03C5","U2207") ; y
+EDS("01E",1,"U0075","U0055","U005C","SHome","" ,"U00B5") ; u
+EDS("01F",1,"U0069","U0049","U002F","SLeft","U03B9","U222B") ; i
+EDS("020",1,"U0061","U0041","U007B","SDown","U03B1","U2200") ; a
+EDS("021",1,"U0065","U0045","U007D","SRght","U03B5","U2203") ; e
+EDS("022",1,"U006F","U004F","U002A","S_End","U03BF","U2208") ; o
+EDS("023",1,"U0073","U0053","U003F","U00BF","U03C3","U03A3") ; s
+EDS("024",1,"U006E","U004E","U0028","SN__4","U03BD","U2115") ; n
+EDS("025",1,"U0072","U0052","U0029","SN__5","U03F1","U211D") ; r
+EDS("026",1,"U0074","U0054","U002D","SN__6","U03C4","U2202") ; t
+EDS("027",1,"U0064","U0044","U003A","SNDot","U03B4","U0394") ; d
+EDS("028",1,"U0079","U0059","U0040","U002E","U03C5","U2207") ; y
; Reihe 4
-ED("VK59SC02C",1,"U00FC","U00DC","U0023","U001B","" ,"U221C") ;
-ED("VK58SC02D",1,"U00F6","U00D6","U0024","U0009","U03F5","U2111") ;
-ED("VK43SC02E",1,"U00E4","U00C4","U007C","SPgDn","U03B7","U2135") ;
-ED("VK56SC02F",1,"U0070","U0050","U007E","U000D","U03C0","U03A0") ; p
-ED("VK42SC030",1,"U007A","U005A","U0060","" ,"U03B6","U2124") ; z
-ED("VK4ESC031",1,"U0062","U0042","U002B","U003A","U03B2","U21D0") ; b
-ED("VK4DSC032",1,"U006D","U004D","U0025","SN__1","U03BC","U21D4") ; m
-ED("VKBCSC033",0,"U002C","U2013","U0022","SN__2","U03C1","U21D2") ; ,
-ED("VKBESC034",0,"U002E","U2022","U0027","SN__3","U03D1","U0398") ; .
-ED("VKBDSC035",1,"U006A","U004A","U003B","U003B","U03B8","U221D") ; j
+EDS("02C",1,"U00FC","U00DC","U0023","U001B","" ,"U221C") ; ü
+EDS("02D",1,"U00F6","U00D6","U0024","U0009","U03F5","U2111") ; ö
+EDS("02E",1,"U00E4","U00C4","U007C","SPgDn","U03B7","U2135") ; ä
+EDS("02F",1,"U0070","U0050","U007E","U000D","U03C0","U03A0") ; p
+EDS("030",1,"U007A","U005A","U0060","" ,"U03B6","U2124") ; z
+EDS("031",1,"U0062","U0042","U002B","U003A","U03B2","U21D0") ; b
+EDS("032",1,"U006D","U004D","U0025","SN__1","U03BC","U21D4") ; m
+EDS("033",0,"U002C","U2013","U0022","SN__2","U03C1","U21D2") ; ,
+EDS("034",0,"U002E","U2022","U0027","SN__3","U03D1","U0398") ; .
+EDS("035",1,"U006A","U004A","U003B","U003B","U03B8","U221D") ; j
; Numpad
ED("VK90SC145",0,"U0009","U0009","U003D","U2260","U2248","U2261") ; NumLock
@@ -103,12 +106,13 @@ ED1("right" ,"SRght")
ED1("numpadenter","SNEnt")
; Die Modifier
-ED1("VKA0SC02A","PM2LD") ; Mod2L (ShiftL)
-ED1("VKA1SC136","PM2RD") ; Mod2R (ShiftR)
-ED1("VK14SC03A","PM3LD") ; Mod3L (CapsLock)
-ED1("VKBFSC02B","PM3RD") ; Mod3R (#')
-ED1("VKE2SC056","PM4LD") ; Mod4L (<>)
-ED1("VKA5SC138","PM4RD") ; Mod4R (AltGr)
+ED1S("02A","PM2LD") ; Mod2L (ShiftL)
+ED1S("136","PM2RD") ; Mod2R (ShiftR)
+ED1S("03A","PM3LD") ; Mod3L (CapsLock)
+ED1S("02B","PM3RD") ; Mod3R (#')
+ED1S("056","PM4LD") ; Mod4L (<>)
+ED1S("138","PM4RD") ; Mod4R (AltGr)
+}
SetKeyPos(pos,char) {
global
@@ -144,8 +148,412 @@ EDN(pos1,pos2,caps,e1,e2,e3,e4,e5,e6) {
ED(pos2,caps,e1,e2,e3,e4,e5,e6)
}
+EDS(scpos,caps,e1,e2,e3,e4,e5,e6,e7="",e8="") {
+ global
+ ED(vksc%scpos%,caps,e1,e2,e3,e4,e5,e6,e7,e8)
+}
+
ED1(pos,e1) {
ED(pos,0,e1,e1,e1,e1,e1,e1)
}
+ED1S(scpos,e1) {
+ EDS(scpos,0,e1,e1,e1,e1,e1,e1)
+}
+
Comp := ""
+
+; RegisterAndHookSC
+RSC(sc,vk) {
+ global
+ vksc%sc% := "VK" . vk . "SC" . sc
+ dnkey := "*" . vksc%sc%
+ upkey := dnkey . " up"
+ Hotkey,% dnkey,allstarhook
+ Hotkey,% upkey,allstarhook
+}
+
+Layout00000407() {
+ global
+; Reihe 1
+ RSC("029","DC")
+ RSC("002","31")
+ RSC("003","32")
+ RSC("004","33")
+ RSC("005","34")
+ RSC("006","35")
+ RSC("007","36")
+ RSC("008","37")
+ RSC("009","38")
+ RSC("00A","39")
+ RSC("00B","30")
+ RSC("00C","DB")
+ RSC("00D","DD")
+; Reihe 2
+ RSC("010","51")
+ RSC("011","57")
+ RSC("012","45")
+ RSC("013","52")
+ RSC("014","54")
+ RSC("015","5A")
+ RSC("016","55")
+ RSC("017","49")
+ RSC("018","4F")
+ RSC("019","50")
+ RSC("01A","BA")
+ RSC("01B","BB")
+ RSC("00D","DD")
+; Reihe 3
+ RSC("01E","41")
+ RSC("01F","53")
+ RSC("020","44")
+ RSC("021","46")
+ RSC("022","47")
+ RSC("023","48")
+ RSC("024","4A")
+ RSC("025","4B")
+ RSC("026","4C")
+ RSC("027","C0")
+ RSC("028","DE")
+; Reihe 4
+ RSC("02C","59")
+ RSC("02D","58")
+ RSC("02E","43")
+ RSC("02F","56")
+ RSC("030","42")
+ RSC("031","4E")
+ RSC("032","4D")
+ RSC("033","BC")
+ RSC("034","BE")
+ RSC("035","BD")
+; Modifier
+ RSC("02A","A0") ; M2L
+ RSC("136","A1") ; M2R
+ RSC("03A","14") ; M3L
+ RSC("02B","BF") ; M3R
+ RSC("056","E2") ; M4L
+ RSC("138","A5") ; M4R
+
+ /**** die meisten der folgenden Shortcuts werden von AHK zwar verarbeitet,
+ **** von dort aber nur als ALT+Numpad verschickt und daher nicht für alle
+ **** Programme nutzbar, also auskommentiert und als Unicode-Zeichen
+ **** geschickt.
+ */
+ ; DNCSU005E := "{^}{space}"
+ ; DNCSU0060 := "{``}{space}"
+ ; DNCSU00B4 := "{´}{space}"
+
+ CSU005E := ""
+ CSU0060 := ""
+ CSU00B4 := ""
+
+ CSU20AC := chr(128) ; €
+ ; CSU201A := chr(130) ; ‚
+ ; CSU0192 := chr(131) ; ƒ
+ ; CSU201E := chr(132) ; „
+ ; CSU2026 := chr(133) ; …
+ ; CSU2020 := chr(134) ; †
+ ; CSU2021 := chr(135) ; ‡
+ ; CSU02C6 := chr(136) ; ˆ
+ ; CSU2030 := chr(137) ; ‰
+ ; CSU0160 := chr(138) ; Š
+ ; CSU2039 := chr(139) ; ‹
+ ; CSU0152 := chr(140) ; Œ
+ ; CSU017D := chr(142) ; Ž
+ ; CSU2018 := chr(145) ; ‘
+ ; CSU2019 := chr(146) ; ’
+ ; CSU201C := chr(147) ; “
+ ; CSU201D := chr(148) ; ”
+ ; CSU2022 := chr(149) ; •
+ ; CSU2013 := chr(150) ; –
+ ; CSU2014 := chr(151) ; —
+ ; CSU02DC := chr(152) ; ˜
+ ; CSU2122 := chr(153) ; ™
+ ; CSU0161 := chr(154) ; š
+ ; CSU203A := chr(155) ; ›
+ ; CSU0153 := chr(156) ; œ
+ ; CSU017E := chr(158) ; ž
+ ; CSU0178 := chr(159) ; Ÿ
+ CSU00A7 := chr(167) ; §
+ CSU00B0 := chr(176) ; °
+ CSU00B2 := chr(178) ; ²
+ CSU00B3 := chr(179) ; ³
+ ; CSU00B4 := chr(180) ; ´
+ CSU00B5 := chr(181) ; µ
+ CSU00C4 := chr(196) ; Ä
+ CSU00D6 := chr(214) ; Ö
+ CSU00DC := chr(220) ; Ü
+ CSU00DF := chr(223) ; ß
+ CSU00E4 := chr(228) ; ä
+ CSU00F6 := chr(246) ; ö
+ CSU00FC := chr(252) ; ü
+ CSU00FF := chr(255) ; ÿ
+
+ /*
+ Für alle Zeichen, die durch Tastendrücke ohne Shift-Taste zustande kommen,
+ muss eine gegebenenfalls gedrückte Shift-Taste vor dem Senden temporär
+ gelöst werden. Dafür werden für sämtliche relevante Zeichen die passenden
+ UNSHU.... Variablen gesetzt.
+ */
+ ; Reihe 1
+ UNSHU005E := 1 ; ^
+ UNSHU0031 := 1 ; 1
+ UNSHU0032 := 1 ; 2
+ UNSHU0033 := 1 ; 3
+ UNSHU0034 := 1 ; 4
+ UNSHU0035 := 1 ; 5
+ UNSHU0036 := 1 ; 6
+ UNSHU0037 := 1 ; 7
+ UNSHU0038 := 1 ; 8
+ UNSHU0039 := 1 ; 9
+ UNSHU0030 := 1 ; 0
+ UNSHU00DF := 1 ; ß
+ UNSHU00B4 := 1 ; ´
+ ; Alphabet
+ UNSHU0061 := 1 ; a
+ UNSHU0062 := 1 ; b
+ UNSHU0063 := 1 ; c
+ UNSHU0064 := 1 ; d
+ UNSHU0065 := 1 ; e
+ UNSHU0066 := 1 ; f
+ UNSHU0067 := 1 ; g
+ UNSHU0068 := 1 ; h
+ UNSHU0069 := 1 ; i
+ UNSHU006A := 1 ; j
+ UNSHU006B := 1 ; k
+ UNSHU006C := 1 ; l
+ UNSHU006D := 1 ; m
+ UNSHU006E := 1 ; n
+ UNSHU006F := 1 ; o
+ UNSHU0070 := 1 ; p
+ UNSHU0071 := 1 ; q
+ UNSHU0072 := 1 ; r
+ UNSHU0073 := 1 ; s
+ UNSHU0074 := 1 ; t
+ UNSHU0075 := 1 ; u
+ UNSHU0076 := 1 ; v
+ UNSHU0077 := 1 ; w
+ UNSHU0078 := 1 ; x
+ UNSHU0079 := 1 ; y
+ UNSHU007A := 1 ; z
+ UNSHU00E4 := 1 ; ä
+ UNSHU00F6 := 1 ; ö
+ UNSHU00FC := 1 ; ü
+ ; Rest
+ UNSHU002B := 1 ; +
+ UNSHU0023 := 1 ; #
+ UNSHU003C := 1 ; <
+ UNSHU002C := 1 ; ,
+ UNSHU002E := 1 ; .
+ UNSHU002D := 1 ; -
+ ; AltGr
+ UNSHU00B2 := 1 ; ²
+ UNSHU00B3 := 1 ; ³
+ UNSHU007B := 1 ; {
+ UNSHU005B := 1 ; [
+ UNSHU005D := 1 ; ]
+ UNSHU007D := 1 ; }
+ UNSHU005C := 1 ; \
+ UNSHU0040 := 1 ; @
+ UNSHU20AC := 1 ; Euro
+ UNSHU007E := 1 ; ~
+ UNSHU007C := 1 ; |
+ UNSHU00B5 := 1 ; µ
+}
+
+Layout00000807() {
+ global
+; Reihe 1
+ RSC("029","BF")
+ RSC("002","31")
+ RSC("003","32")
+ RSC("004","33")
+ RSC("005","34")
+ RSC("006","35")
+ RSC("007","36")
+ RSC("008","37")
+ RSC("009","38")
+ RSC("00A","39")
+ RSC("00B","30")
+ RSC("00C","DB")
+ RSC("00D","DD")
+; Reihe 2
+ RSC("010","51")
+ RSC("011","57")
+ RSC("012","45")
+ RSC("013","52")
+ RSC("014","54")
+ RSC("015","5A")
+ RSC("016","55")
+ RSC("017","49")
+ RSC("018","4F")
+ RSC("019","50")
+ RSC("01A","BA")
+ RSC("01B","C0")
+ RSC("00D","DD")
+; Reihe 3
+ RSC("01E","41")
+ RSC("01F","53")
+ RSC("020","44")
+ RSC("021","46")
+ RSC("022","47")
+ RSC("023","48")
+ RSC("024","4A")
+ RSC("025","4B")
+ RSC("026","4C")
+ RSC("027","DE")
+ RSC("028","DC")
+; Reihe 4
+ RSC("02C","59")
+ RSC("02D","58")
+ RSC("02E","43")
+ RSC("02F","56")
+ RSC("030","42")
+ RSC("031","4E")
+ RSC("032","4D")
+ RSC("033","BC")
+ RSC("034","BE")
+ RSC("035","BD")
+; Modifier
+ RSC("02A","A0") ; M2L
+ RSC("136","A1") ; M2R
+ RSC("03A","14") ; M3L
+ RSC("02B","DF") ; M3R
+ RSC("056","E2") ; M4L
+ RSC("138","A5") ; M4R
+
+ /**** die meisten der folgenden Shortcuts werden von AHK zwar verarbeitet,
+ **** von dort aber nur als ALT+Numpad verschickt und daher nicht für alle
+ **** Programme nutzbar, also auskommentiert und als Unicode-Zeichen
+ **** geschickt.
+ */
+ ; DNCSU005E := "{^}{space}"
+ ; DNCSU0060 := "{``}{space}"
+ ; DNCSU00B4 := "{´}{space}"
+
+ CSU005E := ""
+ CSU0060 := ""
+ CSU00B4 := ""
+
+ CSU20AC := chr(128) ; €
+ ; CSU201A := chr(130) ; ‚
+ ; CSU0192 := chr(131) ; ƒ
+ ; CSU201E := chr(132) ; „
+ ; CSU2026 := chr(133) ; …
+ ; CSU2020 := chr(134) ; †
+ ; CSU2021 := chr(135) ; ‡
+ ; CSU02C6 := chr(136) ; ˆ
+ ; CSU2030 := chr(137) ; ‰
+ ; CSU0160 := chr(138) ; Š
+ ; CSU2039 := chr(139) ; ‹
+ ; CSU0152 := chr(140) ; Œ
+ ; CSU017D := chr(142) ; Ž
+ ; CSU2018 := chr(145) ; ‘
+ ; CSU2019 := chr(146) ; ’
+ ; CSU201C := chr(147) ; “
+ ; CSU201D := chr(148) ; ”
+ ; CSU2022 := chr(149) ; •
+ ; CSU2013 := chr(150) ; –
+ ; CSU2014 := chr(151) ; —
+ ; CSU02DC := chr(152) ; ˜
+ ; CSU2122 := chr(153) ; ™
+ ; CSU0161 := chr(154) ; š
+ ; CSU203A := chr(155) ; ›
+ ; CSU0153 := chr(156) ; œ
+ ; CSU017E := chr(158) ; ž
+ ; CSU0178 := chr(159) ; Ÿ
+ CSU00A7 := chr(167) ; §
+ CSU00B0 := chr(176) ; °
+ ; CSU00B2 := chr(178) ; ²
+ ; CSU00B3 := chr(179) ; ³
+ ; CSU00B4 := chr(180) ; ´
+ ; CSU00B5 := chr(181) ; µ
+ ; CSU00C4 := chr(196) ; Ä
+ ; CSU00D6 := chr(214) ; Ö
+ ; CSU00DC := chr(220) ; Ü
+ ; CSU00DF := chr(223) ; ß
+ CSU00E0 := chr(224) ; à
+ CSU00E4 := chr(228) ; ä
+ CSU00E8 := chr(232) ; è
+ CSU00E9 := chr(233) ; é
+ CSU00F6 := chr(246) ; ö
+ CSU00FC := chr(252) ; ü
+ ; CSU00FF := chr(255) ; ÿ
+
+ /*
+ Für alle Zeichen, die durch Tastendrücke ohne Shift-Taste zustande kommen,
+ muss eine gegebenenfalls gedrückte Shift-Taste vor dem Senden temporär
+ gelöst werden. Dafür werden für sämtliche relevante Zeichen die passenden
+ UNSHU.... Variablen gesetzt.
+ */
+ ; Reihe 1
+ UNSHU00A7 := 1 ; §
+ UNSHU0031 := 1 ; 1
+ UNSHU0032 := 1 ; 2
+ UNSHU0033 := 1 ; 3
+ UNSHU0034 := 1 ; 4
+ UNSHU0035 := 1 ; 5
+ UNSHU0036 := 1 ; 6
+ UNSHU0037 := 1 ; 7
+ UNSHU0038 := 1 ; 8
+ UNSHU0039 := 1 ; 9
+ UNSHU0030 := 1 ; 0
+ UNSHU0027 := 1 ; '
+ UNSHU005E := 1 ; ^
+ ; Alphabet
+ UNSHU0061 := 1 ; a
+ UNSHU0062 := 1 ; b
+ UNSHU0063 := 1 ; c
+ UNSHU0064 := 1 ; d
+ UNSHU0065 := 1 ; e
+ UNSHU0066 := 1 ; f
+ UNSHU0067 := 1 ; g
+ UNSHU0068 := 1 ; h
+ UNSHU0069 := 1 ; i
+ UNSHU006A := 1 ; j
+ UNSHU006B := 1 ; k
+ UNSHU006C := 1 ; l
+ UNSHU006D := 1 ; m
+ UNSHU006E := 1 ; n
+ UNSHU006F := 1 ; o
+ UNSHU0070 := 1 ; p
+ UNSHU0071 := 1 ; q
+ UNSHU0072 := 1 ; r
+ UNSHU0073 := 1 ; s
+ UNSHU0074 := 1 ; t
+ UNSHU0075 := 1 ; u
+ UNSHU0076 := 1 ; v
+ UNSHU0077 := 1 ; w
+ UNSHU0078 := 1 ; x
+ UNSHU0079 := 1 ; y
+ UNSHU007A := 1 ; z
+ UNSHU00E4 := 1 ; ä
+ UNSHU00F6 := 1 ; ö
+ UNSHU00FC := 1 ; ü
+ ; Rest
+ UNSHU00A8 := 1 ; ¨
+ UNSHU0024 := 1 ; $
+ UNSHU003C := 1 ; <
+ UNSHU002C := 1 ; ,
+ UNSHU002E := 1 ; .
+ UNSHU002D := 1 ; -
+ ; AltGr
+ UNSHU00A6 := 1 ; ¦
+ UNSHU0040 := 1 ; @
+ UNSHU0023 := 1 ; #
+ UNSHU00AC := 1 ; ¬
+ UNSHU007C := 1 ; |
+ UNSHU00A2 := 1 ; ¢
+ UNSHU00B4 := 1 ; ´
+ UNSHU007E := 1 ; ~
+ UNSHU20AC := 1 ; Euro
+ UNSHU005B := 1 ; [
+ UNSHU005D := 1 ; ]
+ UNSHU007B := 1 ; {
+ UNSHU007D := 1 ; }
+ UNSHU005C := 1 ; \
+}
+
+ActivateLayOut(layout) {
+ Layout%layout%()
+}
diff --git a/windows/neo-vars/src/source/keyhooks.ahk b/windows/neo-vars/src/source/keyhooks.ahk
index b7fbbd7..3ef4945 100644
--- a/windows/neo-vars/src/source/keyhooks.ahk
+++ b/windows/neo-vars/src/source/keyhooks.ahk
@@ -25,63 +25,6 @@ Suspend, Permit
*F11::
*F12::
-; Reihe 1
-
-*VKDCSC029:: ; Zirkumflex
-*VK31SC002:: ; 1
-*VK32SC003:: ; 2
-*VK33SC004:: ; 3
-*VK34SC005:: ; 4
-*VK35SC006:: ; 5
-*VK36SC007:: ; 6
-*VK37SC008:: ; 7
-*VK38SC009:: ; 8
-*VK39SC00A:: ; 9
-*VK30SC00B:: ; 0
-*VKDBSC00C:: ;
-*VKDDSC00D:: ; Akut
-
-; Reihe 2
-
-*VK51SC010:: ; q (x)
-*VK57SC011:: ; w (v)x
-*VK45SC012:: ; e (l)
-*VK52SC013:: ; r (c)
-*VK54SC014:: ; t (w)
-*VK5ASC015:: ; z (k)
-*VK55SC016:: ; u (h)
-*VK49SC017:: ; i (g)
-*VK4FSC018:: ; o (f)
-*VK50SC019:: ; p (q)
-*VKBASC01A:: ; ()
-*VKBBSC01B:: ; + (tot3)
-
-; Reihe 3
-
-*VK41SC01E:: ; a (u)
-*VK53SC01F:: ; s (i)
-*VK44SC020:: ; d (a)
-*VK46SC021:: ; f (e)
-*VK47SC022:: ; g (o)
-*VK48SC023:: ; h (s)
-*VK4ASC024:: ; j (n)
-*VK4BSC025:: ; k (r)
-*VK4CSC026:: ; l (t)
-*VKC0SC027:: ; (d)
-*VKDESC028:: ; (y)
-
-; Reihe 4
-
-*VK59SC02C:: ; y ()
-*VK58SC02D:: ; x ()
-*VK43SC02E:: ; c ()
-*VK56SC02F:: ; v (p)
-*VK42SC030:: ; b (z)
-*VK4ESC031:: ; n (b)
-*VK4DSC032:: ; m (m)
-*VKBCSC033:: ; , (,)
-*VKBESC034:: ; . (.)
-*VKBDSC035:: ; - (j)
*space::
; Numpad
@@ -133,14 +76,6 @@ esc::
*right::
numpadenter::
-; Modifier
-*VKA0SC02A:: ; ShiftL
-*VKA1SC136:: ; ShiftR
-*VK14SC03A:: ; Mod3L
-*VKBFSC02B:: ; Mod3R
-*VKE2SC056:: ; Mod4L
-*VKA5SC138:: ; Mod4R
-
;;;;;; UP EVENTS
; Funktionstasten
@@ -158,63 +93,6 @@ numpadenter::
*F11 up::
*F12 up::
-; Reihe 1
-
-*VKDCSC029 up:: ; Zirkumflex
-*VK31SC002 up:: ; 1
-*VK32SC003 up:: ; 2
-*VK33SC004 up:: ; 3
-*VK34SC005 up:: ; 4
-*VK35SC006 up:: ; 5
-*VK36SC007 up:: ; 6
-*VK37SC008 up:: ; 7
-*VK38SC009 up:: ; 8
-*VK39SC00A up:: ; 9
-*VK30SC00B up:: ; 0
-*VKDBSC00C up:: ;
-*VKDDSC00D up:: ; Akut
-
-; Reihe 2
-
-*VK51SC010 up:: ; q (x)
-*VK57SC011 up:: ; w (v)x
-*VK45SC012 up:: ; e (l)
-*VK52SC013 up:: ; r (c)
-*VK54SC014 up:: ; t (w)
-*VK5ASC015 up:: ; z (k)
-*VK55SC016 up:: ; u (h)
-*VK49SC017 up:: ; i (g)
-*VK4FSC018 up:: ; o (f)
-*VK50SC019 up:: ; p (q)
-*VKBASC01A up:: ; ()
-*VKBBSC01B up:: ; + (tot3)
-
-; Reihe 3
-
-*VK41SC01E up:: ; a (u)
-*VK53SC01F up:: ; s (i)
-*VK44SC020 up:: ; d (a)
-*VK46SC021 up:: ; f (e)
-*VK47SC022 up:: ; g (o)
-*VK48SC023 up:: ; h (s)
-*VK4ASC024 up:: ; j (n)
-*VK4BSC025 up:: ; k (r)
-*VK4CSC026 up:: ; l (t)
-*VKC0SC027 up:: ; (d)
-*VKDESC028 up:: ; (y)
-
-; Reihe 4
-
-*VK59SC02C up:: ; y ()
-*VK58SC02D up:: ; x ()
-*VK43SC02E up:: ; c ()
-*VK56SC02F up:: ; v (p)
-*VK42SC030 up:: ; b (z)
-*VK4ESC031 up:: ; n (b)
-*VK4DSC032 up:: ; m (m)
-*VKBCSC033 up:: ; , (,)
-*VKBESC034 up:: ; . (.)
-*VKBDSC035 up:: ; - (j)
*space up::
; Numpad
@@ -266,13 +144,6 @@ esc up::
*right up::
numpadenter up::
-; Modifier
-*VKA0SC02A up:: ; ShiftL
-*VKA1SC136 up:: ; ShiftR
-*VK14SC03A up:: ; Mod3L
-*VKBFSC02B up:: ; Mod3R
-*VKE2SC056 up:: ; Mod4L
-*VKA5SC138 up:: ; Mod4R
-
+allstarhook:
AllStar(A_ThisHotkey)
return
diff --git a/windows/neo-vars/src/source/shortcuts.ahk b/windows/neo-vars/src/source/shortcuts.ahk
index be9844d..28c615b 100644
--- a/windows/neo-vars/src/source/shortcuts.ahk
+++ b/windows/neo-vars/src/source/shortcuts.ahk
@@ -33,63 +33,9 @@ CSU0020 := "space"
**** ist (wie bei den diversen toten Zeichen) oder schlicht mit AHK nicht
**** geht (wie das Key-Repeat der schlieenden Klammer).
*/
-; DNCSU005E := "{^}{space}"
-; DNCSU0060 := "{``}{space}"
-; DNCSU00B4 := "{}{space}"
-
-CSU005E := ""
-CSU0060 := ""
-CSU00B4 := ""
-
DNCSU007D := "{}}" ; "{} down}" geht nicht, warum auch immer
; CSU007D := ""
-/**** die meisten der folgenden Shortcuts werden von AHK zwar verarbeitet,
- **** von dort aber nur als ALT+Numpad verschickt und daher nicht fr alle
- **** Programme nutzbar, also auskommentiert und als Unicode-Zeichen
- **** geschickt.
-*/
-CSU20AC := chr(128) ;
-; CSU201A := chr(130) ;
-; CSU0192 := chr(131) ;
-; CSU201E := chr(132) ;
-; CSU2026 := chr(133) ;
-; CSU2020 := chr(134) ;
-; CSU2021 := chr(135) ;
-; CSU02C6 := chr(136) ;
-; CSU2030 := chr(137) ;
-; CSU0160 := chr(138) ;
-; CSU2039 := chr(139) ;
-; CSU0152 := chr(140) ;
-; CSU017D := chr(142) ;
-; CSU2018 := chr(145) ;
-; CSU2019 := chr(146) ;
-; CSU201C := chr(147) ;
-; CSU201D := chr(148) ;
-; CSU2022 := chr(149) ;
-; CSU2013 := chr(150) ;
-; CSU2014 := chr(151) ;
-; CSU02DC := chr(152) ;
-; CSU2122 := chr(153) ;
-; CSU0161 := chr(154) ;
-; CSU203A := chr(155) ;
-; CSU0153 := chr(156) ;
-; CSU017E := chr(158) ;
-; CSU0178 := chr(159) ;
-CSU00A7 := chr(167) ;
-CSU00B0 := chr(176) ;
-CSU00B2 := chr(178) ;
-CSU00B3 := chr(179) ;
-; CSU00B4 := chr(180) ;
-CSU00B5 := chr(181) ;
-CSU00C4 := chr(196) ;
-CSU00D6 := chr(214) ;
-CSU00DC := chr(220) ;
-CSU00DF := chr(223) ;
-CSU00E4 := chr(228) ;
-CSU00F6 := chr(246) ;
-CSU00FC := chr(252) ;
-CSU00FF := chr(255) ;
CSSSh_L := "LShift"
CSSSh_R := "RShift"
@@ -153,77 +99,6 @@ CSSL_M2 := "LShift"
CSSR_M2 := "RShift"
/*
- Fr alle Zeichen, die durch Tastendrcke ohne Shift-Taste zustande kommen,
- muss eine gegebenenfalls gedrckte Shift-Taste vor dem Senden temporr
- gelst werden. Dafr werden fr smtliche relevante Zeichen die passenden
- UNSHU.... Variablen gesetzt.
-*/
-; Reihe 1
-UNSHU005E := 1 ; ^
-UNSHU0031 := 1 ; 1
-UNSHU0032 := 1 ; 2
-UNSHU0033 := 1 ; 3
-UNSHU0034 := 1 ; 4
-UNSHU0035 := 1 ; 5
-UNSHU0036 := 1 ; 6
-UNSHU0037 := 1 ; 7
-UNSHU0038 := 1 ; 8
-UNSHU0039 := 1 ; 9
-UNSHU0030 := 1 ; 0
-UNSHU00DF := 1 ;
-UNSHU00B4 := 1 ;
-; Alphabet
-UNSHU0061 := 1 ; a
-UNSHU0062 := 1 ; b
-UNSHU0063 := 1 ; c
-UNSHU0064 := 1 ; d
-UNSHU0065 := 1 ; e
-UNSHU0066 := 1 ; f
-UNSHU0067 := 1 ; g
-UNSHU0068 := 1 ; h
-UNSHU0069 := 1 ; i
-UNSHU006A := 1 ; j
-UNSHU006B := 1 ; k
-UNSHU006C := 1 ; l
-UNSHU006D := 1 ; m
-UNSHU006E := 1 ; n
-UNSHU006F := 1 ; o
-UNSHU0070 := 1 ; p
-UNSHU0071 := 1 ; q
-UNSHU0072 := 1 ; r
-UNSHU0073 := 1 ; s
-UNSHU0074 := 1 ; t
-UNSHU0075 := 1 ; u
-UNSHU0076 := 1 ; v
-UNSHU0077 := 1 ; w
-UNSHU0078 := 1 ; x
-UNSHU0079 := 1 ; y
-UNSHU007A := 1 ; z
-UNSHU00E4 := 1 ;
-UNSHU00F6 := 1 ;
-UNSHU00FC := 1 ;
-; Rest
-UNSHU002B := 1 ; +
-UNSHU0023 := 1 ; #
-UNSHU003C := 1 ; <
-UNSHU002C := 1 ; ,
-UNSHU002E := 1 ; .
-UNSHU002D := 1 ; -
-; AltGr
-UNSHU00B2 := 1 ;
-UNSHU00B3 := 1 ;
-UNSHU007B := 1 ; {
-UNSHU005B := 1 ; [
-UNSHU005D := 1 ; ]
-UNSHU007D := 1 ; }
-UNSHU005C := 1 ; \
-UNSHU0040 := 1 ; @
-UNSHU20AC := 1 ; Euro
-UNSHU007E := 1 ; ~
-UNSHU007C := 1 ; |
-UNSHU00B5 := 1 ;
-
-/*
Jetzt noch ein paar Verschnerungsabkrzungen
*/
CBS__M2 := "Shift+"