Index: uspace/lib/c/generic/io/input.c
===================================================================
--- uspace/lib/c/generic/io/input.c	(revision ce3efa072661e7cca5ddc305768f65fce320e41c)
+++ uspace/lib/c/generic/io/input.c	(revision 593e0237afd3144ed94431340aab1dd29fc7f612)
@@ -80,8 +80,8 @@
 }
 
-int input_yield(input_t *input)
+int input_activate(input_t *input)
 {
 	async_exch_t *exch = async_exchange_begin(input->sess);
-	int rc = async_req_0_0(exch, INPUT_YIELD);
+	int rc = async_req_0_0(exch, INPUT_ACTIVATE);
 	async_exchange_end(exch);
 	
@@ -89,12 +89,16 @@
 }
 
-int input_reclaim(input_t *input)
-{
-	async_exch_t *exch = async_exchange_begin(input->sess);
-
-	int rc = async_req_0_0(exch, INPUT_RECLAIM);
-	async_exchange_end(exch);
-
-	return rc;
+static void input_ev_active(input_t *input, ipc_callid_t callid,
+    ipc_call_t *call)
+{
+	int rc = input->ev_ops->active(input);
+	async_answer_0(callid, rc);
+}
+
+static void input_ev_deactive(input_t *input, ipc_callid_t callid,
+    ipc_call_t *call)
+{
+	int rc = input->ev_ops->deactive(input);
+	async_answer_0(callid, rc);
 }
 
@@ -177,4 +181,10 @@
 
 		switch (IPC_GET_IMETHOD(call)) {
+		case INPUT_EVENT_ACTIVE:
+			input_ev_active(input, callid, &call);
+			break;
+		case INPUT_EVENT_DEACTIVE:
+			input_ev_deactive(input, callid, &call);
+			break;
 		case INPUT_EVENT_KEY:
 			input_ev_key(input, callid, &call);
