main
Minizbot2012 3 years ago
parent 8bb332a540
commit 2d99f7f889
No known key found for this signature in database
GPG Key ID: 977C8ADE12361917

@ -5,7 +5,7 @@ import (
"os"
"strings"
"github.com/minizbot2012/orbmap/box"
"github.com/OrbTools/OrbMap/box"
)
var eventcodes []byte

@ -1,4 +1,5 @@
//go:generate boxy
//build:+linux
package orbweaver
@ -7,7 +8,7 @@ import (
"encoding/binary"
"os"
"github.com/minizbot2012/orbmap/interface/keyevents"
"github.com/OrbTools/orbmap/interface/keyevents"
)
//OrbLoop Main loop for this device

@ -1,3 +1,6 @@
//go:generate boxy
//build:+windows
package orbweaver
import (
@ -5,9 +8,9 @@ import (
"encoding/binary"
"encoding/hex"
"github.com/OrbTools/OrbMap/devices/common"
"github.com/OrbTools/OrbMap/interface/keyevents"
"github.com/google/gousb"
"github.com/minizbot2012/orbmap/devices/common"
"github.com/minizbot2012/orbmap/interface/keyevents"
)
const (

@ -1,29 +1,31 @@
package keypad
import (
"github.com/bendahl/uinput"
"github.com/minizbot2012/orbmap/interface/keyevents"
)
var vkm uinput.Keyboard = nil
//ProcKey keyboard emulator loop
func ProcKey(kb chan *keyevents.KeyEvent) {
var err error
vkm, err = uinput.CreateKeyboard("/dev/uinput", []byte("Orbmap"))
if err != nil {
panic(err)
}
defer vkm.Close()
for {
KeyEv := <-kb
if KeyEv.Type == 1 {
if KeyEv.Value == 1 {
vkm.KeyDown(int(KeyEv.Code))
} else if KeyEv.Value == 2 {
} else {
vkm.KeyUp(int(KeyEv.Code))
}
}
}
}
//build:+linux
package emu
import (
"github.com/bendahl/uinput"
"github.com/minizbot2012/orbmap/interface/keyevents"
)
var vkm uinput.Keyboard = nil
//ProcKey keyboard emulator loop
func ProcKey(kb chan *keyevents.KeyEvent) {
var err error
vkm, err = uinput.CreateKeyboard("/dev/uinput", []byte("Orbmap"))
if err != nil {
panic(err)
}
defer vkm.Close()
for {
KeyEv := <-kb
if KeyEv.Type == 1 {
if KeyEv.Value == 1 {
vkm.KeyDown(int(KeyEv.Code))
} else if KeyEv.Value == 2 {
} else {
vkm.KeyUp(int(KeyEv.Code))
}
}
}
}

@ -1,58 +1,60 @@
package keypad
import (
"syscall"
"unsafe"
"github.com/lxn/win"
"github.com/minizbot2012/orbmap/interface/keyevents"
)
var user32 = syscall.NewLazyDLL("user32.dll")
var procKeyBd = user32.NewProc("keybd_event")
var mapVK = user32.NewProc("MapVirtualKeyA")
func downKey(key int) {
flag := 0
var in win.KEYBD_INPUT
vs, _, _ := mapVK.Call(uintptr(uint32(key)), uintptr(1))
vsc := uint16(vs)
println(vsc)
if vsc == win.VK_SHIFT || vsc == win.VK_CONTROL || vsc == win.VK_MENU {
flag |= win.KEYEVENTF_EXTENDEDKEY
}
in.Type = 1
in.Ki.DwExtraInfo = 0
in.Ki.DwFlags = uint32(flag)
in.Ki.WScan = 0
in.Ki.WVk = vsc
win.SendInput(1, unsafe.Pointer(&in), int32(unsafe.Sizeof(in)))
}
func upKey(key int) {
flag := win.KEYEVENTF_KEYUP
var in win.KEYBD_INPUT
vs, _, _ := mapVK.Call(uintptr(uint32(key)), uintptr(1))
vsc := uint16(vs)
if vsc == win.VK_SHIFT || vsc == win.VK_CONTROL || vsc == win.VK_MENU {
flag |= win.KEYEVENTF_EXTENDEDKEY
}
in.Type = 1
in.Ki.DwExtraInfo = 0
in.Ki.DwFlags = uint32(flag)
in.Ki.WScan = 0
in.Ki.WVk = vsc
win.SendInput(1, unsafe.Pointer(&in), int32(unsafe.Sizeof(in)))
}
//ProcKey Windows support is so weird
func ProcKey(kb chan *keyevents.KeyEvent) {
for {
KeyEv := <-kb
if KeyEv.Type == 1 {
downKey(int(KeyEv.Code))
} else if KeyEv.Type == 2 {
upKey(int(KeyEv.Code))
}
}
}
//build:+windows
package emu
import (
"syscall"
"unsafe"
"github.com/OrbTools/orbmap/interface/keyevents"
"github.com/lxn/win"
)
var user32 = syscall.NewLazyDLL("user32.dll")
var procKeyBd = user32.NewProc("keybd_event")
var mapVK = user32.NewProc("MapVirtualKeyA")
func downKey(key int) {
flag := 0
var in win.KEYBD_INPUT
vs, _, _ := mapVK.Call(uintptr(uint32(key)), uintptr(1))
vsc := uint16(vs)
println(vsc)
if vsc == win.VK_SHIFT || vsc == win.VK_CONTROL || vsc == win.VK_MENU {
flag |= win.KEYEVENTF_EXTENDEDKEY
}
in.Type = 1
in.Ki.DwExtraInfo = 0
in.Ki.DwFlags = uint32(flag)
in.Ki.WScan = 0
in.Ki.WVk = vsc
win.SendInput(1, unsafe.Pointer(&in), int32(unsafe.Sizeof(in)))
}
func upKey(key int) {
flag := win.KEYEVENTF_KEYUP
var in win.KEYBD_INPUT
vs, _, _ := mapVK.Call(uintptr(uint32(key)), uintptr(1))
vsc := uint16(vs)
if vsc == win.VK_SHIFT || vsc == win.VK_CONTROL || vsc == win.VK_MENU {
flag |= win.KEYEVENTF_EXTENDEDKEY
}
in.Type = 1
in.Ki.DwExtraInfo = 0
in.Ki.DwFlags = uint32(flag)
in.Ki.WScan = 0
in.Ki.WVk = vsc
win.SendInput(1, unsafe.Pointer(&in), int32(unsafe.Sizeof(in)))
}
//ProcKey Windows support is so weird
func ProcKey(kb chan *keyevents.KeyEvent) {
for {
KeyEv := <-kb
if KeyEv.Type == 1 {
downKey(int(KeyEv.Code))
} else if KeyEv.Type == 2 {
upKey(int(KeyEv.Code))
}
}
}

@ -1,4 +1,4 @@
module github.com/minizbot2012/orbmap
module github.com/OrbTools/OrbMap
go 1.15
@ -6,5 +6,6 @@ require (
github.com/bendahl/uinput v1.4.0
github.com/google/gousb v1.1.1
github.com/lxn/win v0.0.0-20201111105847-2a20daff6a55
golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78 // indirect
github.com/minizbot2012/orbmap v0.0.0-20210105003420-10a2212c927a
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c // indirect
)

@ -4,7 +4,10 @@ github.com/google/gousb v1.1.1 h1:2sjwXlc0PIBgDnXtNxUrHcD/RRFOmAtRq4QgnFBE6xc=
github.com/google/gousb v1.1.1/go.mod h1:b3uU8itc6dHElt063KJobuVtcKHWEfFOysOqBNzHhLY=
github.com/lxn/win v0.0.0-20201111105847-2a20daff6a55 h1:4BxFx5XCtXc+nFtXDGDW+Uu5sPtsAbvPh6RObj3fG9o=
github.com/lxn/win v0.0.0-20201111105847-2a20daff6a55/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk=
github.com/minizbot2012/orbmap v0.0.0-20210105003420-10a2212c927a h1:qtU00Hp1ucalaRmVooaEL7yM5UMtF2sehd/Rjv1i+4k=
github.com/minizbot2012/orbmap v0.0.0-20210105003420-10a2212c927a/go.mod h1:D7b0uyHB9+agQ5ydqFT/qyhHKFgsPKQcgKDQn4pfpsE=
golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13 h1:5jaG59Zhd+8ZXe8C+lgiAGqkOaZBruqrWclLkgAww34=
golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78 h1:nVuTkr9L6Bq62qpUqKo/RnZCFfzDBL0bYo6w9OJUqZY=
golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

@ -6,10 +6,10 @@ import (
"os"
"strings"
"github.com/minizbot2012/orbmap/box"
"github.com/minizbot2012/orbmap/devices/orbweaver"
"github.com/minizbot2012/orbmap/interface/keyevents"
"github.com/minizbot2012/orbmap/keypad"
"github.com/OrbTools/OrbMap/box"
"github.com/OrbTools/OrbMap/devices/orbweaver"
"github.com/OrbTools/OrbMap/emu"
"github.com/OrbTools/OrbMap/interface/keyevents"
)
func main() {
@ -25,5 +25,5 @@ func main() {
Maps := orbweaver.ProcOrbFiles(*orbs[0], path)
go orbweaver.OrbLoop(Maps, KeyBus)
}
keypad.ProcKey(KeyBus)
emu.ProcKey(KeyBus)
}

Binary file not shown.
Loading…
Cancel
Save