diff options
| -rw-r--r-- | engines/sci/gfx/gfx_driver.cpp | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/engines/sci/gfx/gfx_driver.cpp b/engines/sci/gfx/gfx_driver.cpp index 528904c7b5..e9b1036d79 100644 --- a/engines/sci/gfx/gfx_driver.cpp +++ b/engines/sci/gfx/gfx_driver.cpp @@ -336,6 +336,16 @@ static sci_event_t scummvm_get_event(gfx_driver_t *drv) {  		// We add the modifier key status to buckybits  		// SDL sends a keydown event if a modifier key is turned on and a keyup event if it's off +		// +		// FIXME: This code is semi-bogus. It only records the modifier key being *pressed*. +		// It does not track correctly whether capslock etc. is active. To do that, we +		// would have to record the fact that the modifier was pressed in global var, +		// and also watch for Common::EVENT_KEYUP events. +		// But this is still not quite good enough, because not all events might +		// pass through here (e.g. the GUI might be running with its own event loop). +		// +		// The best solution likely would be to add code to the EventManager class +		// for tracking which keys are pressed and which are not...  		if (ev.type == Common::EVENT_KEYDOWN) {   			switch (ev.kbd.keycode) {  			case Common::KEYCODE_CAPSLOCK: @@ -351,7 +361,6 @@ static sci_event_t scummvm_get_event(gfx_driver_t *drv) {  				break;  			}  		} -  		//TODO: SCI_EVM_INSERT  		switch (ev.type) { | 
