Readd backspace char event for UI VM text fields
UI VMs expect a backspace char event, but sdl2 branch only was only sending a key event. Revert cl_keys.c to master branch (it would cause backspace to happen twice in console).
This commit is contained in:
parent
ad514c9689
commit
952fd0489c
2 changed files with 4 additions and 9 deletions
|
@ -441,19 +441,11 @@ void Field_KeyDownEvent( field_t *edit, int key ) {
|
||||||
switch ( key ) {
|
switch ( key ) {
|
||||||
case K_DEL:
|
case K_DEL:
|
||||||
if ( edit->cursor < len ) {
|
if ( edit->cursor < len ) {
|
||||||
memmove( edit->buffer + edit->cursor,
|
memmove( edit->buffer + edit->cursor,
|
||||||
edit->buffer + edit->cursor + 1, len - edit->cursor );
|
edit->buffer + edit->cursor + 1, len - edit->cursor );
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case K_RIGHTARROW:
|
||||||
if ( edit->cursor < len ) {
|
if ( edit->cursor < len ) {
|
||||||
edit->cursor++;
|
edit->cursor++;
|
||||||
|
|
|
@ -729,6 +729,9 @@ static void IN_ProcessEvents( void )
|
||||||
if( ( key = IN_TranslateSDLToQ3Key( &e.key.keysym, qtrue ) ) )
|
if( ( key = IN_TranslateSDLToQ3Key( &e.key.keysym, qtrue ) ) )
|
||||||
Com_QueueEvent( 0, SE_KEY, key, qtrue, 0, NULL );
|
Com_QueueEvent( 0, SE_KEY, key, qtrue, 0, NULL );
|
||||||
|
|
||||||
|
if( key == K_BACKSPACE )
|
||||||
|
Com_QueueEvent( 0, SE_CHAR, CTRL('h'), 0, 0, NULL );
|
||||||
|
|
||||||
lastKeyDown = key;
|
lastKeyDown = key;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue