Index: uspace/app/tetris/input.c
===================================================================
--- uspace/app/tetris/input.c	(revision 08b777ec9b4fe3381aa0243b9e311f083a4c9ef3)
+++ uspace/app/tetris/input.c	(revision fa094491c49be2130cd1f5bbad081181cbad82b1)
@@ -115,5 +115,5 @@
 			cons_phone = get_cons_phone();
 			getchar_inprog = async_send_2(cons_phone,
-			    CONSOLE_GETCHAR, 0, 0, &charcall);
+			    CONSOLE_GETKEY, 0, 0, &charcall);
 		}
 		if (!s) 
@@ -128,5 +128,5 @@
 			stop("end of file, help");
 		}
-		lastchar = IPC_GET_ARG1(charcall);
+		lastchar = IPC_GET_ARG4(charcall);
 	}
 	if (tvp) {
Index: uspace/app/trace/trace.c
===================================================================
--- uspace/app/trace/trace.c	(revision 08b777ec9b4fe3381aa0243b9e311f083a4c9ef3)
+++ uspace/app/trace/trace.c	(revision fa094491c49be2130cd1f5bbad081181cbad82b1)
@@ -624,5 +624,5 @@
 		V_INTEGER,
 		V_INTEGER,
-		V_INTEGER		
+		V_INTEGER
 	};
 
@@ -659,7 +659,8 @@
 
 	p = proto_new("console");
-	resp_def[0] = V_CHAR;
-	o = oper_new("getchar", 0, arg_def, V_INTEGER, 2, resp_def);
-	proto_add_oper(p, CONSOLE_GETCHAR, o);
+	resp_def[0] = V_INTEGER; resp_def[1] = V_INTEGER;
+	resp_def[2] = V_INTEGER; resp_def[3] = V_CHAR;
+	o = oper_new("getkey", 0, arg_def, V_ERRNO, 4, resp_def);
+	proto_add_oper(p, CONSOLE_GETKEY, o);
 
 	arg_def[0] = V_CHAR;
