mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-06 12:03:41 +00:00
machine/usb/hid: add RxHandler interface
This commit is contained in:
@@ -24,6 +24,7 @@ const (
|
||||
|
||||
type hidDevicer interface {
|
||||
Handler() bool
|
||||
RxHandler([]byte) bool
|
||||
}
|
||||
|
||||
var devices [5]hidDevicer
|
||||
@@ -65,6 +66,17 @@ func handler() {
|
||||
}
|
||||
}
|
||||
|
||||
func rxHandler(b []byte) {
|
||||
for _, d := range devices {
|
||||
if d == nil {
|
||||
continue
|
||||
}
|
||||
if done := d.RxHandler(b); done {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var DefaultSetupHandler = setupHandler
|
||||
|
||||
func setupHandler(setup usb.Setup) bool {
|
||||
|
||||
@@ -91,6 +91,10 @@ func (kb *keyboard) Handler() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (kb *keyboard) RxHandler(b []byte) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (kb *keyboard) tx(b []byte) {
|
||||
if machine.USBDev.InitEndpointComplete {
|
||||
if kb.waitTxc {
|
||||
|
||||
@@ -57,6 +57,10 @@ func (m *mouse) Handler() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *mouse) RxHandler(b []byte) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *mouse) tx(b []byte) {
|
||||
if machine.USBDev.InitEndpointComplete {
|
||||
if m.waitTxc {
|
||||
|
||||
Reference in New Issue
Block a user