From 557124afa12af33f8453f04beab1ebfbe1e7a593 Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Mon, 22 Jul 2019 13:54:48 +0100 Subject: change global movement commands -- g+[gGmhjkl] --- gramscii.c | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) (limited to 'gramscii.c') diff --git a/gramscii.c b/gramscii.c index 1a21350..0ca2291 100644 --- a/gramscii.c +++ b/gramscii.c @@ -273,6 +273,44 @@ void go_to(int where){ show_cursor(); } +void handle_goto(){ + char c; + c=getchar(); + switch(c){ + case 'h': + dir = DIR_L; + x = 0; + break; + case 'l': + dir = DIR_R; + x = WIDTH - 1; + break; + case 'j': + dir = DIR_D; + y = HEIGHT - 1; + break; + case 'k': + dir = DIR_U; + y = 0; + break; + case 'g': + dir = DIR_N; + go_to(HOME); + break; + case 'G': + dir = DIR_N; + go_to(END); + break; + case 'm': + dir = DIR_N; + go_to(MIDDLE); + break; + } + check_bound(); + show_cursor(); +} + + int move_around(char c){ switch(c){ @@ -297,16 +335,7 @@ int move_around(char c){ x += step; break; case 'g': - dir = DIR_N; - go_to(HOME); - break; - case 'G': - dir = DIR_N; - go_to(END); - break; - case 'm': - dir = DIR_N; - go_to(MIDDLE); + handle_goto(); break; default: return 0; -- cgit v1.2.3