Skip to content

Commit cde6760

Browse files
committed
WIP: Add targets/sgkey-ble
1 parent fcbe49d commit cde6760

File tree

4 files changed

+148
-0
lines changed

4 files changed

+148
-0
lines changed

targets/sgkey-ble/left/def.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package main
2+
3+
import keyboard "github.com/sago35/tinygo-keyboard"
4+
5+
func loadKeyboardDef() {
6+
keyboard.KeyboardDef = []byte{
7+
0x5D, 0x00, 0x00, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x3D, 0x82, 0x80, 0x19, 0x1B, 0x9A, 0xE8, 0xB8, 0xA7, 0x6E, 0x26, 0x77, 0x5D, 0x26, 0xFB, 0x93, 0xC2, 0xE2, 0xE7, 0x46, 0x70, 0xE9, 0xC5, 0x5C, 0x25, 0x18, 0xBE, 0xAF, 0x39, 0x0B, 0xA2, 0x5E, 0x69, 0x76, 0xF2, 0x88, 0x22, 0x64, 0xD8, 0x8C, 0x86, 0x95, 0x27, 0x0D, 0xE9, 0x6E, 0xE8, 0x5A, 0x8B, 0x49, 0x2F, 0xC8, 0x8A, 0xE8, 0x9F, 0x7D, 0x15, 0x0A, 0x17, 0x74, 0xF1, 0xC6, 0x0D, 0x1D, 0x3B, 0x21, 0x36, 0xC0, 0x2C, 0xF4, 0xAD, 0x5E, 0x45, 0x34, 0x81, 0x7E, 0x37, 0x98, 0x72, 0x10, 0x9C, 0x64, 0xA9, 0xC2, 0x7C, 0x8F, 0xE7, 0xFE, 0xA7, 0x4A, 0xC2, 0x31, 0x69, 0xA9, 0x39, 0xA0, 0x92, 0xCF, 0x3E, 0x49, 0xE9, 0x02, 0xED, 0x02, 0x9B, 0x0A, 0x25, 0x5C, 0x22, 0xB8, 0x36, 0x72, 0x2A, 0xB2, 0x80, 0xA7, 0x41, 0xEB, 0x67, 0x3C, 0xCE, 0x0C, 0xCD, 0xAF, 0x22, 0x73, 0x9C, 0x29, 0x56, 0x27, 0xF9, 0x2C, 0xE0, 0xD1, 0x48, 0x79, 0x53, 0x6B, 0x2F, 0xAE, 0x4A, 0xF1, 0x3E, 0x0A, 0x0D, 0xE9, 0x8F, 0xBF, 0xFF, 0x75, 0x49, 0x80, 0x00,
8+
}
9+
}

targets/sgkey-ble/left/main.go

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package main
2+
3+
import (
4+
_ "embed"
5+
"log"
6+
"machine/usb"
7+
"time"
8+
9+
keyboard "github.com/sago35/tinygo-keyboard"
10+
"github.com/sago35/tinygo-keyboard/keycodes/jp"
11+
)
12+
13+
func main() {
14+
usb.Product = "sgkey-ble-0.1.0"
15+
16+
err := run()
17+
if err != nil {
18+
log.Fatal(err)
19+
}
20+
}
21+
22+
func run() error {
23+
time.Sleep(2 * time.Second)
24+
d := keyboard.New()
25+
26+
d.AddBleKeyboard(6, "sgkey-left", [][]keyboard.Keycode{
27+
{
28+
jp.KeyT, jp.KeyI, jp.KeyN,
29+
jp.KeyY, jp.KeyG, jp.KeyO,
30+
},
31+
{
32+
jp.KeyT, jp.KeyI, jp.KeyN,
33+
jp.KeyY, jp.KeyG, jp.KeyO,
34+
},
35+
{
36+
jp.KeyT, jp.KeyI, jp.KeyN,
37+
jp.KeyY, jp.KeyG, jp.KeyO,
38+
},
39+
})
40+
41+
// for Vial
42+
loadKeyboardDef()
43+
44+
err := d.Init()
45+
if err != nil {
46+
return err
47+
}
48+
49+
cont := true
50+
for cont {
51+
err := d.Tick()
52+
if err != nil {
53+
return err
54+
}
55+
time.Sleep(1 * time.Millisecond)
56+
}
57+
return nil
58+
}

targets/sgkey-ble/left/vial.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"name": "tinygo-sgkey-ble",
3+
"vendorId": "0x2886",
4+
"productId": "0x8045",
5+
"matrix": {"rows": 1, "cols": 6},
6+
"layouts": {
7+
"keymap": [
8+
["0,0","0,1","0,2"],
9+
["0,3","0,4","0,5"]
10+
]
11+
}
12+
}

targets/sgkey-ble/right/main.go

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package main
2+
3+
import (
4+
_ "embed"
5+
"log"
6+
"machine"
7+
"time"
8+
9+
keyboard "github.com/sago35/tinygo-keyboard"
10+
)
11+
12+
func main() {
13+
err := run()
14+
if err != nil {
15+
log.Fatal(err)
16+
}
17+
}
18+
19+
type RCS struct {
20+
row, col int
21+
state keyboard.State
22+
}
23+
24+
func run() error {
25+
d := keyboard.New()
26+
27+
colPins := []machine.Pin{
28+
machine.D8,
29+
machine.D9,
30+
machine.D10,
31+
}
32+
33+
rowPins := []machine.Pin{
34+
machine.D1,
35+
machine.D2,
36+
}
37+
38+
d.AddMatrixKeyboard(colPins, rowPins, [][]keyboard.Keycode{
39+
{
40+
0x0000, 0x0001, 0x0002,
41+
0x0003, 0x0004, 0x0005,
42+
},
43+
})
44+
45+
bleKeyboard := keyboard.BleTxKeyboard{
46+
RxBleName: "sgkey-left",
47+
}
48+
d.Keyboard = &bleKeyboard
49+
50+
err := bleKeyboard.Connect()
51+
if err != nil {
52+
return err
53+
}
54+
55+
err = d.Init()
56+
if err != nil {
57+
return err
58+
}
59+
60+
cont := true
61+
for cont {
62+
err := d.Tick()
63+
if err != nil {
64+
return err
65+
}
66+
time.Sleep(1 * time.Millisecond)
67+
}
68+
return nil
69+
}

0 commit comments

Comments
 (0)