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