diff options
| -rw-r--r-- | input.c | 54 | 
1 files changed, 24 insertions, 30 deletions
| @@ -25,8 +25,22 @@ void editor_process_keypress(struct editor_state *editor, SDL_Keysym *keysym)  	}  	switch (keysym->sym) { -		case '\r': -			editor_insert_newline(editor); +		/* TODO: Reimplement page up/down on Shift+W/S. */ +		case SDLK_w: +			editor_move_up(editor); +			break; +		case SDLK_s: +			if (keysym->mod & KMOD_CTRL) { +				editor_save(editor); +				break; +			} +			editor_move_down(editor); +			break; +		case SDLK_a: +			editor_move_left(editor); +			break; +		case SDLK_d: +			editor_move_right(editor);  			break;  		case SDLK_q:  			if (keysym->mod & KMOD_CTRL) { @@ -37,34 +51,23 @@ void editor_process_keypress(struct editor_state *editor, SDL_Keysym *keysym)  				}  				exit(0);  			} -			break; -		case SDLK_s: -			if (keysym->mod & KMOD_CTRL) -				editor_save(editor); -			break; -		case SDLK_0:  			editor->cursor_x = 0;  			break; -		case SDLK_4: -			if (keysym->mod & KMOD_SHIFT) -				editor_move_end(editor); +		case SDLK_e: +			editor_move_end(editor);  			break; -		case SDLK_SLASH: -			editor_find(editor); +		case SDLK_n: +			editor_delete_char(editor);  			break; -		case SDLK_x: +		case SDLK_m:  			editor_move_right(editor);  			editor_delete_char(editor);  			break; -		case SDLK_PAGEUP: -		case SDLK_PAGEDOWN: -			/* TODO: Reimplement page up & page down. */ -			break;  		case SDLK_i:  			editor->mode = EDITOR_MODE_INSERT;  			editor->pressed_insert_key = 1;  			break; -		case SDLK_a: +		case SDLK_l:  			if (keysym->mod & KMOD_SHIFT)  				editor_move_end(editor);  			else @@ -80,17 +83,8 @@ void editor_process_keypress(struct editor_state *editor, SDL_Keysym *keysym)  			editor->mode = EDITOR_MODE_INSERT;  			editor->pressed_insert_key = 1;  			break; -		case SDLK_k: -			editor_move_up(editor); -			break; -		case SDLK_j: -			editor_move_down(editor); -			break; -		case SDLK_h: -			editor_move_left(editor); -			break; -		case SDLK_l: -			editor_move_right(editor); +		case SDLK_SLASH: +			editor_find(editor);  			break;  	} | 
