#include <lunaix/clock.h>
#include <lunaix/input.h>
+#include <lunaix/mm/page.h>
#include <lunaix/mm/valloc.h>
#include <lunaix/spike.h>
#include <lunaix/status.h>
input_init()
{
input_devcat = device_addcat(NULL, "input");
+
+ int i;
+ ptr_t input_dev_init;
+ ldga_foreach(inputdev, ptr_t, i, input_dev_init)
+ {
+ ((void (*)())input_dev_init)();
+ }
}
void
return sizeof(struct input_evt_pkt);
}
+int
+__input_dev_read_pg(struct device* dev, void* buf, size_t offset)
+{
+ return __input_dev_read(dev, buf, offset, PG_SIZE);
+}
+
struct input_device*
input_add_device(char* name_fmt, ...)
{
device_add(input_devcat, idev, name_fmt, DEV_IFSEQ, args);
idev->dev_if = dev;
- dev->read = __input_dev_read;
+ dev->ops.read = __input_dev_read;
+ dev->ops.read_page = __input_dev_read_pg;
va_end(args);