=== modified file 'driver-csi.c' --- driver-csi.c 2008-11-09 19:45:43 +0000 +++ driver-csi.c 2008-11-08 17:56:44 +0000 @@ -309,7 +309,7 @@ return getkey_csi(tk, csi, 1, key, force); } else - return TERMKEY_RES_NONE; + return (*tk->method.getkey_simple)(tk, key, force); } static termkey_keysym register_csi_ss3(termkey_csi *csi, termkey_type type, termkey_keysym sym, unsigned char cmd, const char *name) === modified file 'driver-ti.c' --- driver-ti.c 2008-11-09 19:45:43 +0000 +++ driver-ti.c 2008-11-08 17:56:44 +0000 @@ -135,7 +135,8 @@ } } - return TERMKEY_RES_NONE; + // No special seq. Must be a simple key then + return (*tk->method.getkey_simple)(tk, key, force); } static struct { === modified file 'termkey.c' --- termkey.c 2008-11-09 19:45:43 +0000 +++ termkey.c 2008-11-09 19:29:30 +0000 @@ -382,11 +382,7 @@ tk->buffcount--; // Run the full driver - termkey_result metakey_result; - if(force) - metakey_result = termkey_getkey_force(tk, key); - else - metakey_result = termkey_getkey(tk, key); + termkey_result metakey_result = (*tk->driver.getkey)(tk, tk->driver_info, key, force); tk->buffstart--; tk->buffcount++; @@ -508,36 +504,12 @@ termkey_result termkey_getkey(termkey_t *tk, termkey_key *key) { - termkey_result ret = (*tk->driver.getkey)(tk, tk->driver_info, key, 0); - - switch(ret) { - case TERMKEY_RES_KEY: - case TERMKEY_RES_EOF: - case TERMKEY_RES_AGAIN: - return ret; - - case TERMKEY_RES_NONE: - break; - } - - return getkey_simple(tk, key, 0); + return (*tk->driver.getkey)(tk, tk->driver_info, key, 0); } termkey_result termkey_getkey_force(termkey_t *tk, termkey_key *key) { - termkey_result ret = (*tk->driver.getkey)(tk, tk->driver_info, key, 1); - - switch(ret) { - case TERMKEY_RES_KEY: - case TERMKEY_RES_EOF: - return ret; - - case TERMKEY_RES_AGAIN: - case TERMKEY_RES_NONE: - break; - } - - return getkey_simple(tk, key, 1); + return (*tk->driver.getkey)(tk, tk->driver_info, key, 1); } termkey_result termkey_waitkey(termkey_t *tk, termkey_key *key)