Refactor in orbcommon

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

@ -1,55 +0,0 @@
package box
type embedBox struct {
storage map[string][]byte
}
// Create new box for embed files
func newEmbedBox() *embedBox {
return &embedBox{storage: make(map[string][]byte)}
}
// Add a file to box
func (e *embedBox) Add(file string, content []byte) {
e.storage[file] = content
}
// Get file's content
func (e *embedBox) Get(file string) []byte {
if f, ok := e.storage[file]; ok {
return f
}
return nil
}
func (e *embedBox) List() []string {
keys := make([]string, 0)
for k := range e.storage {
keys = append(keys, k)
}
return keys
}
// Embed box expose
var box = newEmbedBox()
// Add a file content to box
func Add(file string, content []byte) {
box.Add(file, content)
}
// Get a file from box
func Get(file string) []byte {
return box.Get(file)
}
// Lists files in box
func List() []string {
return box.List()
}
// Code generated by go generate; DO NOT EDIT.
func init() {
box.Add("orbweaver.dev", []byte{41, 2, 3, 4, 5, 15, 16, 17, 18, 19, 58, 30, 31, 32, 33, 42, 44, 45, 46, 47, 56, 103, 106, 108, 105, 57})
}

@ -1 +0,0 @@
): !*,-./8gjli9

@ -1,16 +0,0 @@
package common
var KEYCODE_WINDOWS_FROM_HID = [256]byte{
255, 255, 255, 255, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, 50, 49, 24, 25, 16, 19, 31, 20,
22, 47, 17, 45, 21, 44, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 255, 1, 14, 15, 255, 12, 13, 26, 27, 43, 255,
39, 40, 41, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 87, 88, 183, 70, 69, 210, 199,
201, 211, 207, 209, 205, 203, 208, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 29, 42, 56,
219, 157, 54, 184, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255}

@ -1,47 +1,26 @@
package orbweaver
import (
"encoding/binary"
"os"
"strings"
"github.com/OrbTools/OrbMap/box"
"github.com/OrbTools/OrbCommon/devices/orbweaver"
)
var eventcodes []byte
var eventcodes [26]byte
var ecm map[uint16]int
func init() {
eventcodes = box.Get("orbweaver.dev")
eventcodes = orbweaver.BINDING
ecm = make(map[uint16]int)
}
//KeyMap singular keymap
type KeyMap struct {
Keymap [26]uint16
Color [3]byte
}
//KeyMaps a set of keymaps
type KeyMaps struct {
Maps [7]*KeyMap
Currentmap int
MCount int
}
//ProcOrbFiles processes orbs
func ProcOrbFiles(orbs string, wd string) *KeyMaps {
keymaps := &KeyMaps{}
func ProcOrbFiles(orbs string) *orbweaver.KeyMaps {
keymaps := &orbweaver.KeyMaps{}
idx := 0
if len(orbs) > 0 {
for _, orb := range strings.Split(orbs, ",") {
KMap := &KeyMap{}
inf, _ := os.Open(wd + "/" + orb)
defer inf.Close()
err := binary.Read(inf, binary.LittleEndian, KMap)
if err != nil {
panic(err)
}
KMap := orbweaver.LoadKM(orb)
keymaps.Maps[idx] = KMap
}
} else {

@ -8,7 +8,7 @@ import (
"encoding/binary"
"os"
"github.com/OrbTools/orbmap/interface/keyevents"
"github.com/OrbTools/OrbMap/interface/keyevents"
)
//OrbLoop Main loop for this device

@ -8,7 +8,8 @@ import (
"encoding/binary"
"encoding/hex"
"github.com/OrbTools/OrbMap/devices/common"
"github.com/OrbTools/OrbCommon/devices/common"
"github.com/OrbTools/OrbCommon/devices/orbweaver"
"github.com/OrbTools/OrbMap/interface/keyevents"
"github.com/google/gousb"
)
@ -81,7 +82,7 @@ func contains(s []byte, e byte) bool {
}
//OrbLoop Main loop for this device
func OrbLoop(km *KeyMaps, KeyBus chan *keyevents.KeyEvent) {
func OrbLoop(km *orbweaver.KeyMaps, KeyBus chan *keyevents.KeyEvent) {
for i := 0; i < 26; i++ {
ecm[uint16(eventcodes[i])] = i
}

@ -3,8 +3,8 @@
package emu
import (
"github.com/OrbTools/OrbMap/interface/keyevents"
"github.com/bendahl/uinput"
"github.com/minizbot2012/orbmap/interface/keyevents"
)
var vkm uinput.Keyboard = nil

@ -6,7 +6,7 @@ import (
"syscall"
"unsafe"
"github.com/OrbTools/orbmap/interface/keyevents"
"github.com/OrbTools/OrbMap/interface/keyevents"
"github.com/lxn/win"
)

@ -3,9 +3,10 @@ module github.com/OrbTools/OrbMap
go 1.15
require (
github.com/OrbTools/OrbCommon v0.0.0-20210209215542-e5d03278f0d5
github.com/bendahl/uinput v1.4.0
github.com/google/gousb v1.1.1
github.com/lxn/win v0.0.0-20201111105847-2a20daff6a55
github.com/minizbot2012/orbmap v0.0.0-20210105003420-10a2212c927a
github.com/minizbot2012/orbmap v0.0.0-20210105003420-10a2212c927a // indirect
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c // indirect
)

@ -1,3 +1,7 @@
github.com/OrbTools/OrbCommon v0.0.0-20210209212230-c28d897d2760 h1:2eOcDeOxaRpMd0OIt3jsSl7EjPSzu8FYsGOqM+ilOgE=
github.com/OrbTools/OrbCommon v0.0.0-20210209212230-c28d897d2760/go.mod h1:ErdpS2Y/8Ik89IDNsH+yaOWo/XcKzf4riEBfPG3xK+o=
github.com/OrbTools/OrbCommon v0.0.0-20210209215542-e5d03278f0d5 h1:W48w6MC69gxrqfR2xPUjaPyB7SWOAP6szppMvIKwauI=
github.com/OrbTools/OrbCommon v0.0.0-20210209215542-e5d03278f0d5/go.mod h1:ErdpS2Y/8Ik89IDNsH+yaOWo/XcKzf4riEBfPG3xK+o=
github.com/bendahl/uinput v1.4.0 h1:aVJhayM1wEv7yXXLvC/fbXMmA1uB+jAspKhXQaV+76U=
github.com/bendahl/uinput v1.4.0/go.mod h1:Np7w3DINc9wB83p12fTAM3DPPhFnAKP0WTXRqCQJ6Z8=
github.com/google/gousb v1.1.1 h1:2sjwXlc0PIBgDnXtNxUrHcD/RRFOmAtRq4QgnFBE6xc=

@ -3,26 +3,19 @@ package main
import (
"flag"
"os"
"strings"
"github.com/OrbTools/OrbMap/box"
"github.com/OrbTools/OrbMap/devices/orbweaver"
"github.com/OrbTools/OrbMap/emu"
"github.com/OrbTools/OrbMap/interface/keyevents"
)
func main() {
var orbs []*string
for _, v := range box.List() {
println(v)
orbs = append(orbs, flag.String(strings.Split(v, ".")[0], "", "Comma seperated string of orbs for the orbweaver"))
}
var orbs *string
orbs = flag.String("orbweaver", "", "Comma seperated string of orbs for the orbweaver")
flag.Parse()
path, _ := os.Getwd()
KeyBus := make(chan *keyevents.KeyEvent, 128)
if *orbs[0] != "" {
Maps := orbweaver.ProcOrbFiles(*orbs[0], path)
if *orbs != "" {
Maps := orbweaver.ProcOrbFiles(*orbs)
go orbweaver.OrbLoop(Maps, KeyBus)
}
emu.ProcKey(KeyBus)

Loading…
Cancel
Save