machine/usb/hid: add RxHandler interface

This commit is contained in:
sago35
2023-07-03 22:54:14 +09:00
committed by Ron Evans
parent 395ee2d338
commit c51f5cea0b
3 changed files with 20 additions and 0 deletions
+12
View File
@@ -24,6 +24,7 @@ const (
type hidDevicer interface { type hidDevicer interface {
Handler() bool Handler() bool
RxHandler([]byte) bool
} }
var devices [5]hidDevicer 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 var DefaultSetupHandler = setupHandler
func setupHandler(setup usb.Setup) bool { func setupHandler(setup usb.Setup) bool {
+4
View File
@@ -91,6 +91,10 @@ func (kb *keyboard) Handler() bool {
return false return false
} }
func (kb *keyboard) RxHandler(b []byte) bool {
return false
}
func (kb *keyboard) tx(b []byte) { func (kb *keyboard) tx(b []byte) {
if machine.USBDev.InitEndpointComplete { if machine.USBDev.InitEndpointComplete {
if kb.waitTxc { if kb.waitTxc {
+4
View File
@@ -57,6 +57,10 @@ func (m *mouse) Handler() bool {
return false return false
} }
func (m *mouse) RxHandler(b []byte) bool {
return false
}
func (m *mouse) tx(b []byte) { func (m *mouse) tx(b []byte) {
if machine.USBDev.InitEndpointComplete { if machine.USBDev.InitEndpointComplete {
if m.waitTxc { if m.waitTxc {