1.1 --- a/pkg/devices/input/src/server/input-keypad-server.cc Sun May 20 16:54:53 2018 +0200
1.2 +++ b/pkg/devices/input/src/server/input-keypad-server.cc Mon May 21 00:52:45 2018 +0200
1.3 @@ -43,6 +43,7 @@
1.4 Input_event_server::dispatch(l4_umword_t obj, L4::Ipc::Iostream &ios)
1.5 {
1.6 l4_msgtag_t tag;
1.7 + l4_umword_t op;
1.8
1.9 (void) obj;
1.10 ios >> tag;
1.11 @@ -52,18 +53,34 @@
1.12 case L4::Meta::Protocol:
1.13 return L4::Util::handle_meta_request<Input_event_interface>(ios);
1.14
1.15 - /* Reset the buffer state and return the buffer memory capability. */
1.16 + case L4RE_PROTO_EVENT:
1.17 + ios >> op;
1.18 + switch (op)
1.19 + {
1.20 + /* Reset the buffer state and return the buffer memory capability. */
1.21 +
1.22 + case Input_event_op_get_buffer:
1.23 + _events.reset();
1.24 + ios << _mem;
1.25 + return L4_EOK;
1.26
1.27 - case Input_event_op_get_buffer:
1.28 - _events.reset();
1.29 - ios << _mem;
1.30 - return L4_EOK;
1.31 + default:
1.32 + return -L4_ENOSYS;
1.33 + }
1.34
1.35 - /* Just return the interrupt capability. */
1.36 + case L4_PROTO_IRQ:
1.37 + ios >> op;
1.38 + switch (op)
1.39 + {
1.40 + /* Just return the interrupt capability. */
1.41
1.42 - case Input_event_op_bind:
1.43 - ios << _irq;
1.44 - return L4_EOK;
1.45 + case Input_event_op_bind:
1.46 + ios << _irq;
1.47 + return L4_EOK;
1.48 +
1.49 + default:
1.50 + return -L4_ENOSYS;
1.51 + }
1.52
1.53 default:
1.54 return -L4_EBADPROTO;