machine/usb/hid: add RxHandler interface
Этот коммит содержится в:
родитель
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 {
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче