|
From: <ls...@us...> - 2007-07-26 12:53:45
|
Revision: 3367
http://jnode.svn.sourceforge.net/jnode/?rev=3367&view=rev
Author: lsantha
Date: 2007-07-26 05:53:43 -0700 (Thu, 26 Jul 2007)
Log Message:
-----------
Progress with isolates.
Modified Paths:
--------------
trunk/core/src/driver/org/jnode/driver/console/spi/AbstractConsole.java
Modified: trunk/core/src/driver/org/jnode/driver/console/spi/AbstractConsole.java
===================================================================
--- trunk/core/src/driver/org/jnode/driver/console/spi/AbstractConsole.java 2007-07-26 12:52:44 UTC (rev 3366)
+++ trunk/core/src/driver/org/jnode/driver/console/spi/AbstractConsole.java 2007-07-26 12:53:43 UTC (rev 3367)
@@ -32,6 +32,8 @@
import org.jnode.driver.input.PointerEvent;
import org.jnode.driver.input.PointerListener;
import org.jnode.system.event.FocusEvent;
+import org.jnode.util.QueueProcessorThread;
+import org.jnode.util.QueueProcessor;
/**
* @author epr
@@ -59,6 +61,7 @@
public AbstractConsole(ConsoleManager mgr, String name) {
this.mgr = mgr;
this.consoleName = name;
+ this.keyboardEventProcessor.start();
}
/**
@@ -180,7 +183,7 @@
*/
public void keyPressed(KeyboardEvent event) {
if (isFocused()) {
- dispatchKeyboardEvent(event);
+ keyboardEventProcessor.getQueue().add(event);
}
}
@@ -190,7 +193,7 @@
*/
public void keyReleased(KeyboardEvent event) {
if (isFocused()) {
- dispatchKeyboardEvent(event);
+ keyboardEventProcessor.getQueue().add(event);
}
}
@@ -208,6 +211,12 @@
public void focusLost(FocusEvent event) {
}
+ private QueueProcessorThread<KeyboardEvent> keyboardEventProcessor = new QueueProcessorThread<KeyboardEvent>("console-keyboard-event-processor", new QueueProcessor<KeyboardEvent>() {
+ public void process(KeyboardEvent event) throws Exception {
+ dispatchKeyboardEvent(event);
+ }
+ });
+
/**
* Dispatch a given keyboard event to all known listeners.
*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|