machine/usb/hid: add RxHandler interface

Этот коммит содержится в:
sago35 2023-07-03 22:54:14 +09:00 коммит произвёл Ron Evans
родитель 395ee2d338
коммит c51f5cea0b
3 изменённых файлов: 20 добавлений и 0 удалений

Просмотреть файл

@ -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 {