diff options
Diffstat (limited to 'windows/neo-vars')
| -rw-r--r-- | windows/neo-vars/src/ebene0.png | bin | 0 -> 29177 bytes | |||
| -rw-r--r-- | windows/neo-vars/src/neo20-all.ahk | 1 | ||||
| -rw-r--r-- | windows/neo-vars/src/source/levelfunctions.ahk | 2 | ||||
| -rw-r--r-- | windows/neo-vars/src/source/screenkeyboard_new.ahk | 194 | ||||
| -rw-r--r-- | windows/neo-vars/src/source/varsfunctions.ahk | 2 | 
5 files changed, 199 insertions, 0 deletions
| diff --git a/windows/neo-vars/src/ebene0.png b/windows/neo-vars/src/ebene0.pngBinary files differ new file mode 100644 index 0000000..573ad54 --- /dev/null +++ b/windows/neo-vars/src/ebene0.png diff --git a/windows/neo-vars/src/neo20-all.ahk b/windows/neo-vars/src/neo20-all.ahk index bda598a..5e2fffb 100644 --- a/windows/neo-vars/src/neo20-all.ahk +++ b/windows/neo-vars/src/neo20-all.ahk @@ -28,6 +28,7 @@ SetWorkingDir, %A_ScriptDir%  ; Die Bildschirmtastatur
  #include    source\screenkeyboard.ahk
 +#include    source\screenkeyboard_new.ahk
  ; Mitgelieferte Belegungsvarianten
  #include    source\langstastatur.ahk
 diff --git a/windows/neo-vars/src/source/levelfunctions.ahk b/windows/neo-vars/src/source/levelfunctions.ahk index c0a4ec1..129c95a 100644 --- a/windows/neo-vars/src/source/levelfunctions.ahk +++ b/windows/neo-vars/src/source/levelfunctions.ahk @@ -28,6 +28,8 @@ NEOEbeneAktualisieren() {      else
        BSTSwitch(EbeneNC)
    }
 +  if (BSTNguiErstellt)
 +    BSTNUpdate()
  }
  IsShiftActive() {
 diff --git a/windows/neo-vars/src/source/screenkeyboard_new.ahk b/windows/neo-vars/src/source/screenkeyboard_new.ahk new file mode 100644 index 0000000..8e61abc --- /dev/null +++ b/windows/neo-vars/src/source/screenkeyboard_new.ahk @@ -0,0 +1,194 @@ +BSTNguiErstellt := 0
 +BSTNalwaysOnTop := 1
 +
 +CP3F2 := "P_BSTNt"
 +
 +UnZipLocalFile := ApplicationFolder . "\unzip.exe"
 +UnZipSourceLink := "http://stahlworks.com/dev/unzip.exe"
 +
 +UniFontVersion  := "2.30"
 +UniFontFilename := "DejaVuSans.ttf"
 +UniFontName     := "DejaVu Sans"
 +
 +UniFontZipFilename   := "dejavu-fonts-ttf-" . UniFontVersion . ".zip"
 +UniFontZipLocalFile  := ApplicationFolder . "\" . UniFontZipFilename
 +
 +UniFontZipSourceLink := "http://downloads.sourceforge.net/project/dejavu/dejavu/" . UniFontVersion . "/" . UniFontZipFilename
 +
 +UniFontLocalFile := ApplicationFolder . "/" . UniFontFilename
 +UniFontZipFontPath := "dejavu-fonts-ttf-" . UniFontVersion . "/ttf/" . UniFontFilename
 +
 +BSTNUpdate() {
 +    global
 +    static WM_SETTEXT := 0x0C
 +    {
 +      VarSetCapacity(ptrU,20)
 +      loop,parse,GuiKeyList,`,
 +      {
 +        sc := A_LoopField
 +        GuiPhysKey := vksc%sc%
 +        if (EbeneC<3) {
 +          if (NOC%GuiPhysKey%==1) {
 +            GuiEb := EbeneNC
 +          } else {
 +	    GuiEb := EbeneC
 +          }
 +        } else
 +          GuiEb := EbeneC
 +        GuiComp := Comp . CP%GuiEb%%GuiPhysKey%
 +        if (CD%GuiComp% != "") {
 +          GuiComp := CD%GuiComp%
 +        } else if (CM%GuiComp% == 1) {
 +          GuiComp := "U00002A"
 +        } else if (Comp != "") {
 +          GuiComp := ""
 +        }
 +	GuiPos := 0
 +        loop {
 +          if (GuiComp=="")
 +            break
 +	  if (SubStr(GuiComp,1,1)=="U") {
 +            Charcode := "0x" . Substr(GuiComp,2,6)
 +	      if (charCode < 0x10000) {
 +	        NumPut(CharCode, ptrU, GuiPos, "UShort")
 +              } else {
 +                ; surrogates
 +                NumPut(0xD800|((charCode-0x10000)/1024) , ptrU, GuiPos, "UShort")
 +		GuiPos := GuiPos + 2
 +                NumPut(0xDC00|((charCode-0x10000)&0x3FF), ptrU, GuiPos, "UShort")
 +              }
 +            GuiPos := GuiPos + 2
 +	  }
 +          GuiComp := SubStr(GuiComp,8)
 +        }
 +        NumPut(0x0   ,ptrU,GuiPos,"UShort") ; End of string	
 +        DllCall("SendMessageW", "UInt",GuiKey%sc%, "UInt",WM_SETTEXT, "UInt",0, "Uint",&ptrU)
 +      }
 +    }
 +}
 +
 +GuiAddKey(sc,x,y) {
 +  global
 +  Gui, Add, Text, x%x% y%y% Center hwndGuiKey%sc%, MM
 +  GuiKeyList := GuiKeyList . sc . ","
 +}
 +
 +BSTNToggle() {
 +  global
 +  if (BSTNguiErstellt) {
 +    BSTNguiErstellt := 0
 +    Gui, Destroy
 +  } else {
 +    if (FileExist(ResourceFolder)!="") {
 +      FileInstall,ebene0.png,%ResourceFolder%\ebene0.png,1
 +    }
 +
 +    if (FileExist(UniFontLocalFile)=="") {
 +      if (FileExist(UnZipLocalFile)=="") {
 +        Progress,0,,Herunterladen des Entpack-Programms ...
 +        UrlDownloadToFile,%UnZipSourceLink%,%UnZipLocalFile%
 +        if (FileExist(UnZipLocalFile)=="") {
 +          Msgbox,Konnte Unzip-Programm nicht finden und nicht installieren!
 +        }
 +      }
 +
 +      if (FileExist(UniFontZipLocalFile)=="") {
 +        Progress,20,Herunterladen des Fonts ...
 +        UrlDownloadToFile,%UniFontZipSourceLink%,%UniFontZipLocalFile%
 +      }
 +
 +      Progress,80,Entpacken des Archivs ...
 +      RunWait,% """" . UnZipLocalFile . """ -j """ . UniFontZipLocalFile . """ """ . UniFontZipFontPath . """",%ApplicationFolder%,Hide
 +      Progress,OFF
 +    }
 +
 +    DllCall( "GDI32.DLL\AddFontResourceEx", Str, UniFontLocalFile ,UInt,(FR_PRIVATE:=0x10), Int,0)
 +
 +
 +    SysGet, WorkArea, MonitorWorkArea
 +    yPosition := WorkAreaBottom - 230
 +    Gui, Color, FFFFFF
 +    Gui, Add, Picture,AltSubmit x0   y0          vPicture0, % ResourceFolder . "\ebene0.png"
 +    Gui, Font, s10 bold, %UniFontName%
 +    GuiKeyList := ""
 +    GuiAddKey("029",12,8)
 +    GuiAddKey("002",52,8)
 +    GuiAddKey("003",90,8)
 +    GuiAddKey("004",128,8)
 +    GuiAddKey("005",166,8)
 +    GuiAddKey("006",204,8)
 +    GuiAddKey("007",242,8)
 +    GuiAddKey("008",280,8)
 +    GuiAddKey("009",318,8)
 +    GuiAddKey("00A",356,8)
 +    GuiAddKey("00B",394,8)
 +    GuiAddKey("00C",432,8)
 +    GuiAddKey("00D",470,8)
 +
 +    GuiAddKey("010",64,48)
 +    GuiAddKey("011",102,48)
 +    GuiAddKey("012",140,48)
 +    GuiAddKey("013",178,48)
 +    GuiAddKey("014",216,48)
 +    GuiAddKey("015",254,48)
 +    GuiAddKey("016",292,48)
 +    GuiAddKey("017",330,48)
 +    GuiAddKey("018",368,48)
 +    GuiAddKey("019",406,48)
 +    GuiAddKey("01A",444,48)
 +    GuiAddKey("01B",484,48)
 +    GuiAddKey("00D",532,48)
 +
 +    GuiAddKey("01E",82,88)
 +    GuiAddKey("01F",120,88)
 +    GuiAddKey("020",158,88)
 +    GuiAddKey("021",196,88)
 +    GuiAddKey("022",234,88)
 +    GuiAddKey("023",272,88)
 +    GuiAddKey("024",310,88)
 +    GuiAddKey("025",348,88)
 +    GuiAddKey("026",386,88)
 +    GuiAddKey("027",424,88)
 +    GuiAddKey("028",462,88)
 +
 +    GuiAddKey("02C",94,128)
 +    GuiAddKey("02D",132,128)
 +    GuiAddKey("02E",170,128)
 +    GuiAddKey("02F",208,128)
 +    GuiAddKey("030",246,128)
 +    GuiAddKey("031",284,128)
 +    GuiAddKey("032",322,128)
 +    GuiAddKey("033",360,128)
 +    GuiAddKey("034",398,128)
 +    GuiAddKey("035",436,128)
 +    Gui, +AlwaysOnTop +ToolWindow
 +    Gui, Show, y%yposition% w776 h200 NoActivate, NEO-Bildschirmtastatur (neu!)
 +    BSTNguiErstellt := 1
 +    BSTNUpdate()
 +    BSTNalwaysOnTop := 1
 +  }
 +}
 +
 +BSTNToggleAlwaysOnTop() {
 +  global
 +  if (BSTNalwaysOnTop) {
 +    Gui, -AlwaysOnTop
 +    BSTNalwaysOnTop := 0    
 +  } else {
 +    Gui, +AlwaysOnTop
 +    BSTNalwaysOnTop := 1
 +  }
 +}
 +
 +CharProc_BSTNt() {
 +  global
 +  ; Bildschirmtastatur Ein/Aus
 +  BSTNToggle()
 +}
 +
 +CharProc_BSTNA() {
 +  global
 +  ; Bildschirmtastatur AlwaysOnTop
 +  if (BSTNguiErstellt)
 +    BSTNToggleAlwaysOnTop()
 +}
 diff --git a/windows/neo-vars/src/source/varsfunctions.ahk b/windows/neo-vars/src/source/varsfunctions.ahk index 5e6f8a3..0532a64 100644 --- a/windows/neo-vars/src/source/varsfunctions.ahk +++ b/windows/neo-vars/src/source/varsfunctions.ahk @@ -124,6 +124,8 @@ rerun:      CharOutUp(PR%PhysKey%)
      PR%PhysKey% := ""
    }
 +  if (BSTNguiErstellt)
 +    BSTNUpdate()
  }
  CharStarUp(PhysKey) {
 | 
