X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=keyhandler.c;h=f4ca5baa146f729885ca2d639f37cb52bde323d6;hb=d56fdb0ce92c92e27ef45a8315ff26c272a1f23d;hp=2fc6ee5dd974f2dae10f8ebdcb9400d5505726b9;hpb=2aac28bc15a87f5fde5daa83352f9f9b675fc635;p=pd_readline diff --git a/keyhandler.c b/keyhandler.c index 2fc6ee5..f4ca5ba 100644 --- a/keyhandler.c +++ b/keyhandler.c @@ -65,31 +65,26 @@ char getche(void) { /* Alt keys are just esc then key (e.g. Alt-g is esc g ). */ /* Ctrl (then letter) keys are just Dec 1 to Dec 26 */ -/* TO DO: Use the helper function range */ -/* ( range(rstart, rend, val). ) */ -/* to handle entire ranges at once. */ - - -void keyhandler(buf b) +void keyhandler(buf b, hist h) { - int i = getch(); + int a = getch(); - int t = type(i); + int t = type(a); switch(t) { case (1): break; /* Ctrl a */ case (2): break; /* Ctrl b */ - case (3): break; /* Ctrl c */ - case (4): printf("%c", i); break; /* Printable chars. */ + case (3): getch(); spec(h); break; /* Ctrl c */ + case (4): set(b, a); break; /* Printable chars. */ case (5): delch(b); break; case (6): break; default: break; } - + }