[Scummvm-cvs-logs] CVS: scummvm/gui EditTextWidget.cpp,1.5,1.6 ListWidget.cpp,1.17,1.18

Max Horn fingolfin at users.sourceforge.net
Fri Nov 22 10:47:03 CET 2002


Update of /cvsroot/scummvm/scummvm/gui
In directory sc8-pr-cvs1:/tmp/cvs-serv4010/gui

Modified Files:
	EditTextWidget.cpp ListWidget.cpp 
Log Message:
improved keyboard input behaviour in SDL backend: make use of the unicode feature in SDL. This way, Shift-1 on my german keyboard generates ! not 1 (on an US keyboard it'll be a different symbol). Should fix bug #600258 and #551447

Index: EditTextWidget.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/EditTextWidget.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- EditTextWidget.cpp	22 Nov 2002 14:02:29 -0000	1.5
+++ EditTextWidget.cpp	22 Nov 2002 18:46:18 -0000	1.6
@@ -76,13 +76,13 @@
 			_label.deleteLastChar();
 			dirty = true;
 			break;
-		case 20:	// left arrow
+		case 256+20:	// left arrow
 			break;
-		case 19:	// right arrow
+		case 256+19:	// right arrow
 			break;
-		case 22:	// home
+		case 256+22:	// home
 			break;
-		case 23:	// end
+		case 256+23:	// end
 			break;
 		default:
 			if (isprint((char)ascii)) {

Index: ListWidget.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/ListWidget.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- ListWidget.cpp	22 Nov 2002 14:02:30 -0000	1.17
+++ ListWidget.cpp	22 Nov 2002 18:46:18 -0000	1.18
@@ -142,6 +142,8 @@
 	bool dirty = false;
 	int oldSelectedItem = _selectedItem;
 
+printf("ListWidget::handleKeyDown(%d, %d, %d)\n", (int)ascii, (int)keycode, (int)modifiers);
+
 	if (_editMode) {
 
 		if (_caretVisible)
@@ -189,28 +191,28 @@
 				}
 			}
 			break;
-		case 17:	// up arrow
+		case 256+17:	// up arrow
 			if (_selectedItem > 0)
 				_selectedItem--;
 			break;
-		case 18:	// down arrow
+		case 256+18:	// down arrow
 			if (_selectedItem < _list.size() - 1)
 				_selectedItem++;
 			break;
-		case 24:	// pageup
+		case 256+24:	// pageup
 			_selectedItem -= _entriesPerPage - 1;
 			if (_selectedItem < 0)
 				_selectedItem = 0;
 			break;
-		case 25:	// pagedown
+		case 256+25:	// pagedown
 			_selectedItem += _entriesPerPage - 1;
 			if (_selectedItem >= _list.size() )
 				_selectedItem = _list.size() - 1;
 			break;
-		case 22:	// home
+		case 256+22:	// home
 			_selectedItem = 0;
 			break;
-		case 23:	// end
+		case 256+23:	// end
 			_selectedItem = _list.size() - 1;
 			break;
 		default:





More information about the Scummvm-git-logs mailing list