diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/cl_keys.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/client/cl_keys.c b/src/client/cl_keys.c index 0fbddd23..191d7fe4 100644 --- a/src/client/cl_keys.c +++ b/src/client/cl_keys.c @@ -438,11 +438,19 @@ void Field_KeyDownEvent( field_t *edit, int key ) { switch ( key ) { case K_DEL: if ( edit->cursor < len ) { - memmove( edit->buffer + edit->cursor, + memmove( edit->buffer + edit->cursor, edit->buffer + edit->cursor + 1, len - edit->cursor ); } break; + case K_BACKSPACE: + if ( edit->cursor > 0 ) { + memmove( edit->buffer + edit->cursor - 1, + edit->buffer + edit->cursor, len + 1 - edit->cursor ); + edit->cursor--; + } + break; + case K_RIGHTARROW: if ( edit->cursor < len ) { edit->cursor++; |