[Scummvm-cvs-logs] SF.net SVN: scummvm:[46808] scummvm/trunk

bluddy at users.sourceforge.net bluddy at users.sourceforge.net
Fri Jan 1 00:52:49 CET 2010


Revision: 46808
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46808&view=rev
Author:   bluddy
Date:     2009-12-31 23:52:49 +0000 (Thu, 31 Dec 2009)

Log Message:
-----------
Minor additions: added full keypad support to GUI and SCI

Modified Paths:
--------------
    scummvm/trunk/engines/sci/event.cpp
    scummvm/trunk/gui/ListWidget.cpp
    scummvm/trunk/gui/PopUpWidget.cpp
    scummvm/trunk/gui/console.cpp
    scummvm/trunk/gui/editable.cpp

Modified: scummvm/trunk/engines/sci/event.cpp
===================================================================
--- scummvm/trunk/engines/sci/event.cpp	2009-12-31 23:43:10 UTC (rev 46807)
+++ scummvm/trunk/engines/sci/event.cpp	2009-12-31 23:52:49 UTC (rev 46808)
@@ -270,6 +270,22 @@
 					if (!(_modifierStates & SCI_KEYMOD_NUMLOCK))
 						input.data = SCI_KEY_CENTER;
 					break;
+				case Common::KEYCODE_KP7:	// home
+					if (!(_modifierStates & SCI_KEYMOD_NUMLOCK))
+						input.data = SCI_KEY_HOME;
+					break;
+				case Common::KEYCODE_KP9:	// pageup
+					if (!(_modifierStates & SCI_KEYMOD_NUMLOCK))
+						input.data = SCI_KEY_PGUP;
+					break;
+				case Common::KEYCODE_KP1:	// end
+					if (!(_modifierStates & SCI_KEYMOD_NUMLOCK))
+						input.data = SCI_KEY_END;
+					break;
+				case Common::KEYCODE_KP3:	// pagedown
+					if (!(_modifierStates & SCI_KEYMOD_NUMLOCK))
+						input.data = SCI_KEY_PGDOWN;
+					break;					
 				default:
 					input.type = SCI_EVENT_NONE;
 					break;

Modified: scummvm/trunk/gui/ListWidget.cpp
===================================================================
--- scummvm/trunk/gui/ListWidget.cpp	2009-12-31 23:43:10 UTC (rev 46807)
+++ scummvm/trunk/gui/ListWidget.cpp	2009-12-31 23:52:49 UTC (rev 46808)
@@ -286,7 +286,7 @@
 	bool dirty = false;
 	int oldSelectedItem = _selectedItem;
 
-	if (!_editMode && isprint((unsigned char)state.ascii)) {
+	if (!_editMode && state.keycode <= Common::KEYCODE_z && isprint((unsigned char)state.ascii)) {
 		// Quick selection mode: Go to first list item starting with this key
 		// (or a substring accumulated from the last couple key presses).
 		// Only works in a useful fashion if the list entries are sorted.
@@ -351,27 +351,33 @@
 			}
 			break;
 		case Common::KEYCODE_UP:
+		case Common::KEYCODE_KP8:
 			if (_selectedItem > 0)
 				_selectedItem--;
 			break;
 		case Common::KEYCODE_DOWN:
+		case Common::KEYCODE_KP2:
 			if (_selectedItem < (int)_list.size() - 1)
 				_selectedItem++;
 			break;
 		case Common::KEYCODE_PAGEUP:
+		case Common::KEYCODE_KP9:
 			_selectedItem -= _entriesPerPage - 1;
 			if (_selectedItem < 0)
 				_selectedItem = 0;
 			break;
 		case Common::KEYCODE_PAGEDOWN:
+		case Common::KEYCODE_KP3:
 			_selectedItem += _entriesPerPage - 1;
 			if (_selectedItem >= (int)_list.size() )
 				_selectedItem = _list.size() - 1;
 			break;
 		case Common::KEYCODE_HOME:
+		case Common::KEYCODE_KP7:
 			_selectedItem = 0;
 			break;
 		case Common::KEYCODE_END:
+		case Common::KEYCODE_1:
 			_selectedItem = _list.size() - 1;
 			break;
 		default:

Modified: scummvm/trunk/gui/PopUpWidget.cpp
===================================================================
--- scummvm/trunk/gui/PopUpWidget.cpp	2009-12-31 23:43:10 UTC (rev 46807)
+++ scummvm/trunk/gui/PopUpWidget.cpp	2009-12-31 23:52:49 UTC (rev 46808)
@@ -228,15 +228,19 @@
 		close();
 		break;
 	case Common::KEYCODE_UP:
+	case Common::KEYCODE_KP8:
 		moveUp();
 		break;
 	case Common::KEYCODE_DOWN:
+	case Common::KEYCODE_KP2:
 		moveDown();
 		break;
 	case Common::KEYCODE_HOME:
+	case Common::KEYCODE_KP7:
 		setSelection(0);
 		break;
 	case Common::KEYCODE_END:
+	case Common::KEYCODE_KP1:
 		setSelection(_popUpBoss->_entries.size()-1);
 		break;
 	default:

Modified: scummvm/trunk/gui/console.cpp
===================================================================
--- scummvm/trunk/gui/console.cpp	2009-12-31 23:43:10 UTC (rev 46807)
+++ scummvm/trunk/gui/console.cpp	2009-12-31 23:52:49 UTC (rev 46808)
@@ -386,17 +386,21 @@
 		draw();
 		break;
 	case Common::KEYCODE_UP:
+	case Common::KEYCODE_KP8:
 		historyScroll(+1);
 		break;
 	case Common::KEYCODE_DOWN:
+	case Common::KEYCODE_KP2:
 		historyScroll(-1);
 		break;
 	case Common::KEYCODE_RIGHT:
+	case Common::KEYCODE_KP6:
 		if (_currentPos < _promptEndPos)
 			_currentPos++;
 		drawLine(pos2line(_currentPos));
 		break;
 	case Common::KEYCODE_LEFT:
+	case Common::KEYCODE_KP4:
 		if (_currentPos > _promptStartPos)
 			_currentPos--;
 		drawLine(pos2line(_currentPos));

Modified: scummvm/trunk/gui/editable.cpp
===================================================================
--- scummvm/trunk/gui/editable.cpp	2009-12-31 23:43:10 UTC (rev 46807)
+++ scummvm/trunk/gui/editable.cpp	2009-12-31 23:52:49 UTC (rev 46808)
@@ -124,6 +124,7 @@
 		forcecaret = true;
 		break;
 	case Common::KEYCODE_LEFT:
+	case Common::KEYCODE_KP4:
 		if (_caretPos > 0) {
 			dirty = setCaretPos(_caretPos - 1);
 		}
@@ -131,6 +132,7 @@
 		dirty = true;
 		break;
 	case Common::KEYCODE_RIGHT:
+	case Common::KEYCODE_KP6:
 		if (_caretPos < (int)_editString.size()) {
 			dirty = setCaretPos(_caretPos + 1);
 		}
@@ -138,10 +140,12 @@
 		dirty = true;
 		break;
 	case Common::KEYCODE_HOME:
+	case Common::KEYCODE_KP7:
 		dirty = setCaretPos(0);
 		forcecaret = true;
 		break;
 	case Common::KEYCODE_END:
+	case Common::KEYCODE_KP1:
 		dirty = setCaretPos(_editString.size());
 		forcecaret = true;
 		break;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list