Changeset 133

Show
Ignore:
Timestamp:
05/30/07 20:36:31 (6 years ago)
Author:
david
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • windows/XP/autohotkey/neo20-all-in-one.ahk

    r132 r133  
    11/* 
    22    Titel:        NEO Autohotkey-Treiber 
    3     Version:      0.03b 
     3    Version:      0.04 beta 
    44    Datum:        29.05.2007 
    5     Basiert auf:  Neo-Layout und Neo-Remap vom 25.05.2007 
     5    Basiert auf:  neo20.ahk und neo20-remap.ahk vom 25.05.2007 
    66     
    7     TODO:         - Nummernblock hinzuf�gen 
     7    TODO:         - ausgiebig testen... 
    88                  - DeadKeys tot machen (?) 
    99                  - Men� des Tasksymbols 
    10                   - Symbol �ndern? 
     10                  - Symbol �ndern (?) 
     11                  - auf Ebene 1 und 2 wenn m�glich, "send" durch "sendinput {blind}" ersetzen 
     12                    (wegen m�glicher Tastenkombinationen) 
     13                  - bei Ebene 5 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden 
    1114*/ 
    1215 
     
    2124SetTitleMatchMode 2 
    2225 
    23 name    = NEO 2.0 
    24 enable  = Aktiviere %name% 
    25 disable = Deaktiviere %name% 
     26;name    = NEO 2.0 
     27;enable  = Aktiviere %name% 
     28;disable = Deaktiviere %name% 
    2629 
    2730; �berpr�fung auf deutsches Tastaturlayout  
     
    5457} 
    5558 
    56 ; Variablen initialisieren 
     59/* 
     60   Variablen initialisieren 
     61*/ 
     62 
    5763Ebene = 1 
    5864myPriorHotkey = "" 
     65 
     66 
     67/* 
     68   ------------------------------------------------------ 
     69   Modifier 
     70   ------------------------------------------------------ 
     71*/ 
    5972 
    6073; CapsLock durch Mod3+Mod3 
     
    7487return 
    7588 
    76 ; Mod5-Tasten einen Hotkey zuweisen, damit die QWERTZ-Entsprechung nicht mehr ausgegeben wird: 
     89; Komma durch Mod5+Mod5 
    7790*<:: 
    7891*SC138:: 
     
    8497 
    8598 
    86  
    8799/* 
    88    Hier gehts jetzt los. 
    89     
    90100   Ablauf bei toten Tasten: 
    91101   1. Ebene Aktualisieren 
     
    96106   2. Abh�ngig von den Variablen "Ebene" und "myPriorHotkey" Zeichen ausgeben 
    97107   3. "myPriorHotkey" mit leerem String �berschreiben 
    98 */ 
    99  
    100  
    101 /* 
     108 
    102109   ------------------------------------------------------ 
    103110   Reihe 1 
     
    252259   else if Ebene = 5 
    253260      Unicode("⅞") ; 7/8 
    254    else if Ebene = 6 
    255261   myPriorHotkey = "" 
    256262return 
     
    675681/* 
    676682        was bedeutet dieser PriorHotkey? 
    677         ich steig da irgendwie nicht durch... 
    678683*/ 
    679684 
    680       Else If myPriorHotkey = +1      ; Grad 
     685      Else If A_PriorHotkey = +1      ; Grad 
    681686         BSUnicode("≗") 
    682687      Else 
     
    15551560return 
    15561561 
     1562/* 
     1563   ------------------------------------------------------ 
     1564   Numpad 
     1565   ------------------------------------------------------ 
     1566 
     1567   folgende Tasten verhalten sich bei ein- und ausgeschaltetem 
     1568   NumLock gleich: 
     1569*/ 
     1570 
     1571*NumpadDiv:: 
     1572   EbeneAktualisieren() 
     1573   if ( (Ebene = 1) or (Ebene = 2) ) 
     1574      send {NumpadDiv} 
     1575   else if Ebene = 3 
     1576      send � 
     1577   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1578      Unicode("∕")   ; slash 
     1579   myPriorHotkey = "" 
     1580return 
     1581 
     1582*NumpadMult:: 
     1583   EbeneAktualisieren() 
     1584   if ( (Ebene = 1) or (Ebene = 2) ) 
     1585      send {NumpadMult} 
     1586   else if Ebene = 3 
     1587      send � 
     1588   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1589      Unicode("⋅")  ; cdot 
     1590   myPriorHotkey = "" 
     1591return 
     1592 
     1593*NumpadSub:: 
     1594   EbeneAktualisieren() 
     1595   if ( (Ebene = 1) or (Ebene = 2) ) 
     1596      send {NumpadSub} 
     1597   else if Ebene = 3 
     1598      send - 
     1599   myPriorHotkey = "" 
     1600return 
     1601 
     1602*NumpadAdd:: 
     1603   EbeneAktualisieren() 
     1604   if ( (Ebene = 1) or (Ebene = 2) ) 
     1605      send {NumpadAdd} 
     1606   else if Ebene = 3 
     1607      send � 
     1608   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1609      Unicode("∓")   ; -+ 
     1610   myPriorHotkey = "" 
     1611return 
     1612 
     1613*NumpadEnter:: 
     1614   EbeneAktualisieren() 
     1615   if ( (Ebene = 1) or (Ebene = 2) ) 
     1616      send {NumpadEnter}       
     1617   else if Ebene = 3 
     1618      Unicode("≠") ; neq 
     1619   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1620      Unicode("≈") ; approx 
     1621   myPriorHotkey = "" 
     1622return 
     1623 
     1624/* 
     1625   folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock 
     1626   unterschiedlich: 
     1627 
     1628   bei NumLock ein 
     1629*/ 
     1630 
     1631*Numpad7:: 
     1632   EbeneAktualisieren() 
     1633   if Ebene = 1 
     1634      send {Numpad7} 
     1635   else if Ebene = 2 
     1636      send {NumpadHome} 
     1637   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1638      Unicode("≪")  ; ll 
     1639   myPriorHotkey = "" 
     1640return 
     1641 
     1642*Numpad8:: 
     1643   EbeneAktualisieren() 
     1644   if Ebene = 1 
     1645      send {Numpad8} 
     1646   else if Ebene = 2 
     1647      send {NumpadUp} 
     1648   else if Ebene = 3 
     1649      Unicode("↑")     ; uparrow 
     1650   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1651      Unicode("∩")    ; 
     1652   myPriorHotkey = "" 
     1653return 
     1654 
     1655*Numpad9:: 
     1656   EbeneAktualisieren() 
     1657   if Ebene = 1 
     1658      send {Numpad9} 
     1659   else if Ebene = 2 
     1660      send {NumpadPgUp} 
     1661   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1662      Unicode("≫")  ; gg 
     1663   myPriorHotkey = "" 
     1664return 
     1665 
     1666*Numpad4:: 
     1667   EbeneAktualisieren() 
     1668   if Ebene = 1 
     1669      send {Numpad4} 
     1670   else if Ebene = 2 
     1671      send {NumpadLeft} 
     1672   else if Ebene = 3 
     1673      Unicode("←")     ; leftarrow 
     1674   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1675      Unicode("⊂")  ; 
     1676   myPriorHotkey = "" 
     1677return 
     1678 
     1679*Numpad5:: 
     1680   EbeneAktualisieren() 
     1681   if Ebene = 1 
     1682      send {Numpad5} 
     1683   else if Ebene = 2 
     1684      send {NumpadClear} 
     1685   else if Ebene = 3 
     1686      send � 
     1687   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1688      Unicode("∊") ; 
     1689   myPriorHotkey = "" 
     1690return 
     1691 
     1692*Numpad6:: 
     1693   EbeneAktualisieren() 
     1694   if Ebene = 1 
     1695      send {Numpad6} 
     1696   else if Ebene = 2 
     1697      send {NumpadRight} 
     1698   else if Ebene = 3 
     1699      Unicode("→")     ; rightarrow 
     1700   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1701      Unicode("⊃") ; 
     1702   myPriorHotkey = "" 
     1703return 
     1704 
     1705*Numpad1:: 
     1706   EbeneAktualisieren() 
     1707   if Ebene = 1 
     1708      send {Numpad1} 
     1709   else if Ebene = 2 
     1710      send {NumpadEnd} 
     1711   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1712      Unicode("≤")   ; leq 
     1713   myPriorHotkey = "" 
     1714return 
     1715 
     1716*Numpad2:: 
     1717   EbeneAktualisieren() 
     1718   if Ebene = 1 
     1719      send {Numpad2} 
     1720   else if Ebene = 2 
     1721      send {NumpadDown} 
     1722   else if Ebene = 3 
     1723      Unicode("↓")     ; downarrow 
     1724   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1725      Unicode("∪")  ; 
     1726   myPriorHotkey = "" 
     1727return 
     1728 
     1729*Numpad3:: 
     1730   EbeneAktualisieren() 
     1731   if Ebene = 1 
     1732      send {Numpad3} 
     1733   else if Ebene = 2 
     1734      send {NumpadPgDn} 
     1735   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1736      Unicode("≥")  ; geq 
     1737   myPriorHotkey = "" 
     1738return 
     1739 
     1740*Numpad0:: 
     1741   EbeneAktualisieren() 
     1742   if Ebene = 1 
     1743      send {Numpad0} 
     1744   else if Ebene = 2 
     1745      send {NumpadIns} 
     1746   else if Ebene = 3 
     1747      send `% 
     1748   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1749      send �  
     1750   myPriorHotkey = "" 
     1751return 
     1752 
     1753*NumpadDot:: 
     1754   EbeneAktualisieren() 
     1755   if Ebene = 1 
     1756      send {NumpadDot} 
     1757   else if Ebene = 2 
     1758      send {NumpadDel} 
     1759   else if Ebene = 3 
     1760      send . 
     1761   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1762      send `, 
     1763   myPriorHotkey = "" 
     1764return 
     1765 
     1766/* 
     1767   bei NumLock aus 
     1768*/ 
     1769 
     1770*NumpadHome:: 
     1771   EbeneAktualisieren() 
     1772   if Ebene = 1 
     1773      send {NumpadHome} 
     1774   else if Ebene = 2 
     1775      send {Numpad7} 
     1776   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1777      Unicode("≪")  ; ll 
     1778   myPriorHotkey = "" 
     1779return 
     1780 
     1781*NumpadUp:: 
     1782   EbeneAktualisieren() 
     1783   if Ebene = 1 
     1784      send {NumpadUp} 
     1785   else if Ebene = 2 
     1786      send {Numpad8} 
     1787   else if Ebene = 3 
     1788      Unicode("↑")     ; uparrow 
     1789   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1790      Unicode("∩")    ; 
     1791   myPriorHotkey = "" 
     1792return 
     1793 
     1794*NumpadPgUp:: 
     1795   EbeneAktualisieren() 
     1796   if Ebene = 1 
     1797      send {NumpadPgUp} 
     1798   else if Ebene = 2 
     1799      send {Numpad9} 
     1800   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1801      Unicode("≫")  ; gg 
     1802   myPriorHotkey = "" 
     1803return 
     1804 
     1805*NumpadLeft:: 
     1806   EbeneAktualisieren() 
     1807   if Ebene = 1 
     1808      send {NumpadLeft} 
     1809   else if Ebene = 2 
     1810      send {Numpad4} 
     1811   else if Ebene = 3 
     1812      Unicode("←")     ; leftarrow 
     1813   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1814      Unicode("⊂")  ; 
     1815   myPriorHotkey = "" 
     1816return 
     1817 
     1818*NumpadClear:: 
     1819   EbeneAktualisieren() 
     1820   if Ebene = 1 
     1821      send {NumpadClear} 
     1822   else if Ebene = 2 
     1823      send {Numpad5} 
     1824   else if Ebene = 3 
     1825      send � 
     1826   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1827      Unicode("∊") ; 
     1828   myPriorHotkey = "" 
     1829return 
     1830 
     1831*NumpadRight:: 
     1832   EbeneAktualisieren() 
     1833   if Ebene = 1 
     1834      send {NumpadRight} 
     1835   else if Ebene = 2 
     1836      send {Numpad6} 
     1837   else if Ebene = 3 
     1838      Unicode("→")     ; rightarrow 
     1839   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1840      Unicode("⊃") ; 
     1841   myPriorHotkey = "" 
     1842return 
     1843 
     1844*NumpadEnd:: 
     1845   EbeneAktualisieren() 
     1846   if Ebene = 1 
     1847      send {NumpadEnd} 
     1848   else if Ebene = 2 
     1849      send {Numpad1} 
     1850   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1851      Unicode("≤")   ; leq 
     1852   myPriorHotkey = "" 
     1853return 
     1854 
     1855*NumpadDown:: 
     1856   EbeneAktualisieren() 
     1857   if Ebene = 1 
     1858      send {NumpadDown} 
     1859   else if Ebene = 2 
     1860      send {Numpad2} 
     1861   else if Ebene = 3 
     1862      Unicode("↓")     ; downarrow 
     1863   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1864      Unicode("∪")  ; 
     1865   myPriorHotkey = "" 
     1866return 
     1867 
     1868*NumpadPgDn:: 
     1869   EbeneAktualisieren() 
     1870   if Ebene = 1 
     1871      send {NumpadPgDn} 
     1872   else if Ebene = 2 
     1873      send {Numpad3} 
     1874   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1875      Unicode("≥")  ; geq 
     1876   myPriorHotkey = "" 
     1877return 
     1878 
     1879*NumpadIns:: 
     1880   EbeneAktualisieren() 
     1881   if Ebene = 1 
     1882      send {NumpadIns} 
     1883   else if Ebene = 2 
     1884      send {Numpad0} 
     1885   else if Ebene = 3 
     1886      send `% 
     1887   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1888      send �  
     1889   myPriorHotkey = "" 
     1890return 
     1891 
     1892*NumpadDel:: 
     1893   EbeneAktualisieren() 
     1894   if Ebene = 1 
     1895      send {NumpadDel} 
     1896   else if Ebene = 2 
     1897      send {NumpadDot} 
     1898   else if Ebene = 3 
     1899      send . 
     1900   else if ( (Ebene = 4) or (Ebene = 5) ) 
     1901      send `, 
     1902   myPriorHotkey = "" 
     1903return 
     1904 
     1905 
    15571906 
    15581907/* 
     
    15751924return 
    15761925 
     1926/* 
     1927   Folgende Tasten sind nur aufgef�hrt, um myPriorHotkey zu leeren. 
     1928   Irgendwie sieht das noch nicht sch�n aus. Vielleicht l�sst sich dieses 
     1929   Problem irgendwie eleganter l�sen... 
     1930*/ 
     1931 
    15771932*Enter:: 
    1578    Send {Enter} 
     1933   sendinput {Blind}{Enter} 
    15791934   myPriorhotkey = "" 
    15801935return 
    15811936 
    15821937*Backspace:: 
    1583    Send {Backspace} 
     1938   sendinput {Blind}{Backspace} 
    15841939   myPriorhotkey = "" 
    15851940return 
     1941 
     1942*Tab:: 
     1943   sendinput {Blind}{Tab} 
     1944   myPriorHotkey = "" 
     1945return 
     1946 
     1947*Home:: 
     1948   sendinput {Blind}{Home} 
     1949   myPriorHotkey = "" 
     1950return 
     1951 
     1952*End:: 
     1953   sendinput {Blind}{End} 
     1954   myPriorHotkey = "" 
     1955return 
     1956 
     1957*PgUp:: 
     1958   sendinput {Blind}{PgUp} 
     1959   myPriorHotkey = "" 
     1960return 
     1961 
     1962*PgDn:: 
     1963   sendinput {Blind}{PgDn} 
     1964   myPriorHotkey = "" 
     1965return 
     1966 
     1967*Up:: 
     1968   sendinput {Blind}{Up} 
     1969   myPriorhotkey = "" 
     1970return 
     1971 
     1972*Down:: 
     1973   sendinput {Blind}{Down} 
     1974   myPriorhotkey = "" 
     1975return 
     1976 
     1977*Left:: 
     1978   sendinput {Blind}{Left} 
     1979   myPriorhotkey = "" 
     1980return 
     1981 
     1982*Right:: 
     1983   sendinput {Blind}{Right} 
     1984   myPriorhotkey = "" 
     1985return 
     1986 
    15861987 
    15871988/*