From 778225504c00c7ca03386b6eabfbda929542130f Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Sat, 24 Apr 2010 05:05:41 +0200
Subject: Moved event classed from com.jogamp.newt to com.jogamp.newt.event

---
 src/newt/classes/com/jogamp/newt/Event.java        |  86 ---
 .../classes/com/jogamp/newt/EventListener.java     |  44 --
 src/newt/classes/com/jogamp/newt/InputEvent.java   |  97 ---
 src/newt/classes/com/jogamp/newt/KeyEvent.java     | 738 ---------------------
 src/newt/classes/com/jogamp/newt/KeyListener.java  |  42 --
 src/newt/classes/com/jogamp/newt/MouseEvent.java   | 110 ---
 .../classes/com/jogamp/newt/MouseListener.java     |  47 --
 src/newt/classes/com/jogamp/newt/PaintEvent.java   |  74 ---
 .../classes/com/jogamp/newt/PaintListener.java     |  42 --
 src/newt/classes/com/jogamp/newt/WindowEvent.java  |  67 --
 .../classes/com/jogamp/newt/WindowListener.java    |  42 --
 src/newt/classes/com/jogamp/newt/event/Event.java  |  86 +++
 .../com/jogamp/newt/event/EventListener.java       |  46 ++
 .../classes/com/jogamp/newt/event/InputEvent.java  |  99 +++
 .../classes/com/jogamp/newt/event/KeyEvent.java    | 737 ++++++++++++++++++++
 .../classes/com/jogamp/newt/event/KeyListener.java |  44 ++
 .../classes/com/jogamp/newt/event/MouseEvent.java  | 107 +++
 .../com/jogamp/newt/event/MouseListener.java       |  49 ++
 .../classes/com/jogamp/newt/event/PaintEvent.java  |  76 +++
 .../com/jogamp/newt/event/PaintListener.java       |  44 ++
 .../classes/com/jogamp/newt/event/WindowEvent.java |  65 ++
 .../com/jogamp/newt/event/WindowListener.java      |  44 ++
 22 files changed, 1397 insertions(+), 1389 deletions(-)
 delete mode 100644 src/newt/classes/com/jogamp/newt/Event.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/EventListener.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/InputEvent.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/KeyEvent.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/KeyListener.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/MouseEvent.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/MouseListener.java
 delete mode 100755 src/newt/classes/com/jogamp/newt/PaintEvent.java
 delete mode 100755 src/newt/classes/com/jogamp/newt/PaintListener.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/WindowEvent.java
 delete mode 100644 src/newt/classes/com/jogamp/newt/WindowListener.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/Event.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/EventListener.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/InputEvent.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/KeyEvent.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/KeyListener.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/MouseEvent.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/MouseListener.java
 create mode 100755 src/newt/classes/com/jogamp/newt/event/PaintEvent.java
 create mode 100755 src/newt/classes/com/jogamp/newt/event/PaintListener.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/WindowEvent.java
 create mode 100644 src/newt/classes/com/jogamp/newt/event/WindowListener.java

(limited to 'src/newt/classes/com/jogamp')

diff --git a/src/newt/classes/com/jogamp/newt/Event.java b/src/newt/classes/com/jogamp/newt/Event.java
deleted file mode 100644
index d42a95735..000000000
--- a/src/newt/classes/com/jogamp/newt/Event.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public class Event {
-    private boolean isSystemEvent;
-    private int eventType;
-    private Window source;
-    private long when;
-
-    Event(boolean isSystemEvent, int eventType, Window source, long when) {
-        this.isSystemEvent = isSystemEvent;
-        this.eventType = eventType;
-        this.source = source;
-        this.when = when;
-    }
-
-    protected Event(int eventType, Window source, long when) {
-        this(false, eventType, source, when);
-    }
-
-    /** Indicates whether this event was produced by the system or
-        generated by user code. */
-    public final boolean isSystemEvent() {
-        return isSystemEvent;
-    }
-
-    /** Returns the event type of this event. */
-    public final int getEventType() {
-        return eventType;
-    }
-
-    /** Returns the source Window which produced this Event. */
-    public final Window getSource() {
-        return source;
-    }
-
-    /** Returns the timestamp, in milliseconds, of this event. */
-    public final long getWhen()  {
-        return when;
-    }
-
-    public String toString() {
-        return "Event[sys:"+isSystemEvent()+", source:"+getSource()+", when:"+getWhen()+"]";
-    }
-
-    public static String toHexString(int hex) {
-        return "0x" + Integer.toHexString(hex);
-    }
-
-    public static String toHexString(long hex) {
-        return "0x" + Long.toHexString(hex);
-    }
-
-}
diff --git a/src/newt/classes/com/jogamp/newt/EventListener.java b/src/newt/classes/com/jogamp/newt/EventListener.java
deleted file mode 100644
index 75cb487dd..000000000
--- a/src/newt/classes/com/jogamp/newt/EventListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public interface EventListener
-{
-    public static final int WINDOW  = 1 << 0;
-    public static final int MOUSE   = 1 << 1;
-    public static final int KEY     = 1 << 2;
-    public static final int SURFACE = 1 << 3;
-
-}
-
diff --git a/src/newt/classes/com/jogamp/newt/InputEvent.java b/src/newt/classes/com/jogamp/newt/InputEvent.java
deleted file mode 100644
index d4c3f6905..000000000
--- a/src/newt/classes/com/jogamp/newt/InputEvent.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public abstract class InputEvent extends Event
-{
- public static final int  SHIFT_MASK     = 1 << 0;
- public static final int  CTRL_MASK      = 1 << 1;
- public static final int  META_MASK      = 1 << 2;
- public static final int  ALT_MASK       = 1 << 3;
- public static final int  ALT_GRAPH_MASK = 1 << 5;
- public static final int  BUTTON1_MASK   = 1 << 6;
- public static final int  BUTTON2_MASK   = 1 << 7;
- public static final int  BUTTON3_MASK   = 1 << 8;
-
- protected InputEvent(boolean sysEvent, int eventType, Window source, long when, int modifiers) {
-    super(sysEvent, eventType, source, when);
-    this.consumed=false;
-    this.modifiers=modifiers;
- }
-
- public void consume() {
-    consumed=true;
- }
-
- public boolean isConsumed() {
-    return consumed;
- }
- public int getModifiers() {
-    return modifiers;
- }
- public boolean isAltDown() {
-    return (modifiers&ALT_MASK)!=0;
- }
- public boolean isAltGraphDown() {
-    return (modifiers&ALT_GRAPH_MASK)!=0;
- }
- public boolean isControlDown() {
-    return (modifiers&CTRL_MASK)!=0;
- }
- public boolean isMetaDown() {
-    return (modifiers&META_MASK)!=0;
- }
- public boolean isShiftDown()  {
-    return (modifiers&SHIFT_MASK)!=0;
- }
-
- public boolean isButton1Down()  {
-    return (modifiers&BUTTON1_MASK)!=0;
- }
-
- public boolean isButton2Down()  {
-    return (modifiers&BUTTON2_MASK)!=0;
- }
-
- public boolean isButton3Down()  {
-    return (modifiers&BUTTON3_MASK)!=0;
- }
-
- public String toString() {
-     return "InputEvent[modifiers:"+modifiers+"]";
- }
-
- private boolean consumed;
- private int modifiers;
-}
diff --git a/src/newt/classes/com/jogamp/newt/KeyEvent.java b/src/newt/classes/com/jogamp/newt/KeyEvent.java
deleted file mode 100644
index bec77160b..000000000
--- a/src/newt/classes/com/jogamp/newt/KeyEvent.java
+++ /dev/null
@@ -1,738 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public class KeyEvent extends InputEvent
-{
- KeyEvent(boolean sysEvent, int eventType, Window source, long when, int modifiers, int keyCode, char keyChar) {
-     super(sysEvent, eventType, source, when, modifiers); 
-     this.keyCode=keyCode;
-     this.keyChar=keyChar;
- }
- public KeyEvent(int eventType, Window source, long when, int modifiers, int keyCode, char keyChar) {
-     this(false, eventType, source, when, modifiers, keyCode, keyChar);
- }
-
- public char getKeyChar() {
-    return keyChar;
- }
- public int getKeyCode() {
-    return keyCode;
- }
-
- public String toString() {
-    return "KeyEvent["+getEventTypeString(getEventType())+
-                     ", code "+keyCode+"("+toHexString(keyCode)+"), char <"+keyChar+"> ("+toHexString((int)keyChar)+"), isActionKey "+isActionKey()+", "+super.toString()+"]";
- }
-
- public static String getEventTypeString(int type) {
-    switch(type) {
-        case EVENT_KEY_PRESSED: return "EVENT_KEY_PRESSED";
-        case EVENT_KEY_RELEASED: return "EVENT_KEY_RELEASED";
-        case EVENT_KEY_TYPED: return "EVENT_KEY_TYPED";
-        default: return "unknown (" + type + ")";
-    }
- }
-
- public boolean   isActionKey() {
-    switch (keyCode) {
-      case VK_HOME:
-      case VK_END:
-      case VK_PAGE_UP:
-      case VK_PAGE_DOWN:
-      case VK_UP:
-      case VK_DOWN:
-      case VK_LEFT:
-      case VK_RIGHT:
-
-      case VK_F1:
-      case VK_F2:
-      case VK_F3:
-      case VK_F4:
-      case VK_F5:
-      case VK_F6:
-      case VK_F7:
-      case VK_F8:
-      case VK_F9:
-      case VK_F10:
-      case VK_F11:
-      case VK_F12:
-      case VK_F13:
-      case VK_F14:
-      case VK_F15:
-      case VK_F16:
-      case VK_F17:
-      case VK_F18:
-      case VK_F19:
-      case VK_F20:
-      case VK_F21:
-      case VK_F22:
-      case VK_F23:
-      case VK_F24:
-      case VK_PRINTSCREEN:
-      case VK_CAPS_LOCK:
-      case VK_PAUSE:
-      case VK_INSERT:
-
-      case VK_HELP:
-      case VK_WINDOWS:
-          return true;
-    }
-    return false;
- }
-
-    private int keyCode;
-    private char keyChar;
-
-    public static final int EVENT_KEY_PRESSED = 300;
-    public static final int EVENT_KEY_RELEASED= 301;
-    public static final int EVENT_KEY_TYPED   = 302;
-
-    /* Virtual key codes. */
-
-    public static final int VK_ENTER          = '\n';
-    public static final int VK_BACK_SPACE     = '\b';
-    public static final int VK_TAB            = '\t';
-    public static final int VK_CANCEL         = 0x03;
-    public static final int VK_CLEAR          = 0x0C;
-    public static final int VK_SHIFT          = 0x10;
-    public static final int VK_CONTROL        = 0x11;
-    public static final int VK_ALT            = 0x12;
-    public static final int VK_PAUSE          = 0x13;
-    public static final int VK_CAPS_LOCK      = 0x14;
-    public static final int VK_ESCAPE         = 0x1B;
-    public static final int VK_SPACE          = 0x20;
-    public static final int VK_PAGE_UP        = 0x21;
-    public static final int VK_PAGE_DOWN      = 0x22;
-    public static final int VK_END            = 0x23;
-    public static final int VK_HOME           = 0x24;
-
-    /**
-     * Constant for the non-numpad <b>left</b> arrow key.
-     * @see #VK_KP_LEFT
-     */
-    public static final int VK_LEFT           = 0x25;
-
-    /**
-     * Constant for the non-numpad <b>up</b> arrow key.
-     * @see #VK_KP_UP
-     */
-    public static final int VK_UP             = 0x26;
-
-    /**
-     * Constant for the non-numpad <b>right</b> arrow key.
-     * @see #VK_KP_RIGHT
-     */
-    public static final int VK_RIGHT          = 0x27;
-
-    /**
-     * Constant for the non-numpad <b>down</b> arrow key.
-     * @see #VK_KP_DOWN
-     */
-    public static final int VK_DOWN           = 0x28;
-
-    /**
-     * Constant for the comma key, ","
-     */
-    public static final int VK_COMMA          = 0x2C;
-
-    /**
-     * Constant for the minus key, "-"
-     * @since 1.2
-     */
-    public static final int VK_MINUS          = 0x2D;
-
-    /**
-     * Constant for the period key, "."
-     */
-    public static final int VK_PERIOD         = 0x2E;
-
-    /**
-     * Constant for the forward slash key, "/"
-     */
-    public static final int VK_SLASH          = 0x2F;
-
-    /** VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
-    public static final int VK_0              = 0x30;
-    public static final int VK_1              = 0x31;
-    public static final int VK_2              = 0x32;
-    public static final int VK_3              = 0x33;
-    public static final int VK_4              = 0x34;
-    public static final int VK_5              = 0x35;
-    public static final int VK_6              = 0x36;
-    public static final int VK_7              = 0x37;
-    public static final int VK_8              = 0x38;
-    public static final int VK_9              = 0x39;
-
-    /**
-     * Constant for the semicolon key, ";"
-     */
-    public static final int VK_SEMICOLON      = 0x3B;
-
-    /**
-     * Constant for the equals key, "="
-     */
-    public static final int VK_EQUALS         = 0x3D;
-
-    /** VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
-    public static final int VK_A              = 0x41;
-    public static final int VK_B              = 0x42;
-    public static final int VK_C              = 0x43;
-    public static final int VK_D              = 0x44;
-    public static final int VK_E              = 0x45;
-    public static final int VK_F              = 0x46;
-    public static final int VK_G              = 0x47;
-    public static final int VK_H              = 0x48;
-    public static final int VK_I              = 0x49;
-    public static final int VK_J              = 0x4A;
-    public static final int VK_K              = 0x4B;
-    public static final int VK_L              = 0x4C;
-    public static final int VK_M              = 0x4D;
-    public static final int VK_N              = 0x4E;
-    public static final int VK_O              = 0x4F;
-    public static final int VK_P              = 0x50;
-    public static final int VK_Q              = 0x51;
-    public static final int VK_R              = 0x52;
-    public static final int VK_S              = 0x53;
-    public static final int VK_T              = 0x54;
-    public static final int VK_U              = 0x55;
-    public static final int VK_V              = 0x56;
-    public static final int VK_W              = 0x57;
-    public static final int VK_X              = 0x58;
-    public static final int VK_Y              = 0x59;
-    public static final int VK_Z              = 0x5A;
-
-    /**
-     * Constant for the open bracket key, "["
-     */
-    public static final int VK_OPEN_BRACKET   = 0x5B;
-
-    /**
-     * Constant for the back slash key, "\"
-     */
-    public static final int VK_BACK_SLASH     = 0x5C;
-
-    /**
-     * Constant for the close bracket key, "]"
-     */
-    public static final int VK_CLOSE_BRACKET  = 0x5D;
-
-    public static final int VK_NUMPAD0        = 0x60;
-    public static final int VK_NUMPAD1        = 0x61;
-    public static final int VK_NUMPAD2        = 0x62;
-    public static final int VK_NUMPAD3        = 0x63;
-    public static final int VK_NUMPAD4        = 0x64;
-    public static final int VK_NUMPAD5        = 0x65;
-    public static final int VK_NUMPAD6        = 0x66;
-    public static final int VK_NUMPAD7        = 0x67;
-    public static final int VK_NUMPAD8        = 0x68;
-    public static final int VK_NUMPAD9        = 0x69;
-    public static final int VK_MULTIPLY       = 0x6A;
-    public static final int VK_ADD            = 0x6B;
-
-    /** 
-     * This constant is obsolete, and is included only for backwards
-     * compatibility.
-     * @see #VK_SEPARATOR
-     */
-    public static final int VK_SEPARATER      = 0x6C;
-
-    /** 
-     * Constant for the Numpad Separator key. 
-     * @since 1.4
-     */
-    public static final int VK_SEPARATOR      = VK_SEPARATER;
-
-    public static final int VK_SUBTRACT       = 0x6D;
-    public static final int VK_DECIMAL        = 0x6E;
-    public static final int VK_DIVIDE         = 0x6F;
-    public static final int VK_DELETE         = 0x7F; /* ASCII DEL */
-    public static final int VK_NUM_LOCK       = 0x90;
-    public static final int VK_SCROLL_LOCK    = 0x91;
-
-    /** Constant for the F1 function key. */
-    public static final int VK_F1             = 0x70;
-
-    /** Constant for the F2 function key. */
-    public static final int VK_F2             = 0x71;
-
-    /** Constant for the F3 function key. */
-    public static final int VK_F3             = 0x72;
-
-    /** Constant for the F4 function key. */
-    public static final int VK_F4             = 0x73;
-
-    /** Constant for the F5 function key. */
-    public static final int VK_F5             = 0x74;
-
-    /** Constant for the F6 function key. */
-    public static final int VK_F6             = 0x75;
-
-    /** Constant for the F7 function key. */
-    public static final int VK_F7             = 0x76;
-
-    /** Constant for the F8 function key. */
-    public static final int VK_F8             = 0x77;
-
-    /** Constant for the F9 function key. */
-    public static final int VK_F9             = 0x78;
-
-    /** Constant for the F10 function key. */
-    public static final int VK_F10            = 0x79;
-
-    /** Constant for the F11 function key. */
-    public static final int VK_F11            = 0x7A;
-
-    /** Constant for the F12 function key. */
-    public static final int VK_F12            = 0x7B;
-
-    /**
-     * Constant for the F13 function key.
-     * @since 1.2
-     */
-    /* F13 - F24 are used on IBM 3270 keyboard; use random range for constants. */
-    public static final int VK_F13            = 0xF000;
- 
-    /**
-     * Constant for the F14 function key.
-     * @since 1.2
-     */
-    public static final int VK_F14            = 0xF001;
- 
-    /**
-     * Constant for the F15 function key.
-     * @since 1.2
-     */
-    public static final int VK_F15            = 0xF002;
- 
-    /**
-     * Constant for the F16 function key.
-     * @since 1.2
-     */
-    public static final int VK_F16            = 0xF003;
- 
-    /**
-     * Constant for the F17 function key.
-     * @since 1.2
-     */
-    public static final int VK_F17            = 0xF004;
- 
-    /**
-     * Constant for the F18 function key.
-     * @since 1.2
-     */
-    public static final int VK_F18            = 0xF005;
- 
-    /**
-     * Constant for the F19 function key.
-     * @since 1.2
-     */
-    public static final int VK_F19            = 0xF006;
- 
-    /**
-     * Constant for the F20 function key.
-     * @since 1.2
-     */
-    public static final int VK_F20            = 0xF007;
- 
-    /**
-     * Constant for the F21 function key.
-     * @since 1.2
-     */
-    public static final int VK_F21            = 0xF008;
- 
-    /**
-     * Constant for the F22 function key.
-     * @since 1.2
-     */
-    public static final int VK_F22            = 0xF009;
- 
-    /**
-     * Constant for the F23 function key.
-     * @since 1.2
-     */
-    public static final int VK_F23            = 0xF00A;
- 
-    /**
-     * Constant for the F24 function key.
-     * @since 1.2
-     */
-    public static final int VK_F24            = 0xF00B;
- 
-    public static final int VK_PRINTSCREEN    = 0x9A;
-    public static final int VK_INSERT         = 0x9B;
-    public static final int VK_HELP           = 0x9C;
-    public static final int VK_META           = 0x9D;
-
-    public static final int VK_BACK_QUOTE     = 0xC0;
-    public static final int VK_QUOTE          = 0xDE;
-
-    /**
-     * Constant for the numeric keypad <b>up</b> arrow key.
-     * @see #VK_UP
-     * @since 1.2
-     */
-    public static final int VK_KP_UP          = 0xE0;
-
-    /**
-     * Constant for the numeric keypad <b>down</b> arrow key.
-     * @see #VK_DOWN
-     * @since 1.2
-     */
-    public static final int VK_KP_DOWN        = 0xE1;
-
-    /**
-     * Constant for the numeric keypad <b>left</b> arrow key.
-     * @see #VK_LEFT
-     * @since 1.2
-     */
-    public static final int VK_KP_LEFT        = 0xE2;
-
-    /**
-     * Constant for the numeric keypad <b>right</b> arrow key.
-     * @see #VK_RIGHT
-     * @since 1.2
-     */
-    public static final int VK_KP_RIGHT       = 0xE3;
-    
-    /* For European keyboards */
-    /** @since 1.2 */
-    public static final int VK_DEAD_GRAVE               = 0x80;
-    /** @since 1.2 */
-    public static final int VK_DEAD_ACUTE               = 0x81;
-    /** @since 1.2 */
-    public static final int VK_DEAD_CIRCUMFLEX          = 0x82;
-    /** @since 1.2 */
-    public static final int VK_DEAD_TILDE               = 0x83;
-    /** @since 1.2 */
-    public static final int VK_DEAD_MACRON              = 0x84;
-    /** @since 1.2 */
-    public static final int VK_DEAD_BREVE               = 0x85;
-    /** @since 1.2 */
-    public static final int VK_DEAD_ABOVEDOT            = 0x86;
-    /** @since 1.2 */
-    public static final int VK_DEAD_DIAERESIS           = 0x87;
-    /** @since 1.2 */
-    public static final int VK_DEAD_ABOVERING           = 0x88;
-    /** @since 1.2 */
-    public static final int VK_DEAD_DOUBLEACUTE         = 0x89;
-    /** @since 1.2 */
-    public static final int VK_DEAD_CARON               = 0x8a;
-    /** @since 1.2 */
-    public static final int VK_DEAD_CEDILLA             = 0x8b;
-    /** @since 1.2 */
-    public static final int VK_DEAD_OGONEK              = 0x8c;
-    /** @since 1.2 */
-    public static final int VK_DEAD_IOTA                = 0x8d;
-    /** @since 1.2 */
-    public static final int VK_DEAD_VOICED_SOUND        = 0x8e;
-    /** @since 1.2 */
-    public static final int VK_DEAD_SEMIVOICED_SOUND    = 0x8f;
-
-    /** @since 1.2 */
-    public static final int VK_AMPERSAND                = 0x96;
-    /** @since 1.2 */
-    public static final int VK_ASTERISK                 = 0x97;
-    /** @since 1.2 */
-    public static final int VK_QUOTEDBL                 = 0x98;
-    /** @since 1.2 */
-    public static final int VK_LESS                     = 0x99;
-
-    /** @since 1.2 */
-    public static final int VK_GREATER                  = 0xa0;
-    /** @since 1.2 */
-    public static final int VK_BRACELEFT                = 0xa1;
-    /** @since 1.2 */
-    public static final int VK_BRACERIGHT               = 0xa2;
-
-    /**
-     * Constant for the "@" key.
-     * @since 1.2
-     */
-    public static final int VK_AT                       = 0x0200;
- 
-    /**
-     * Constant for the ":" key.
-     * @since 1.2
-     */
-    public static final int VK_COLON                    = 0x0201;
- 
-    /**
-     * Constant for the "^" key.
-     * @since 1.2
-     */
-    public static final int VK_CIRCUMFLEX               = 0x0202;
- 
-    /**
-     * Constant for the "$" key.
-     * @since 1.2
-     */
-    public static final int VK_DOLLAR                   = 0x0203;
- 
-    /**
-     * Constant for the Euro currency sign key.
-     * @since 1.2
-     */
-    public static final int VK_EURO_SIGN                = 0x0204;
- 
-    /**
-     * Constant for the "!" key.
-     * @since 1.2
-     */
-    public static final int VK_EXCLAMATION_MARK         = 0x0205;
- 
-    /**
-     * Constant for the inverted exclamation mark key.
-     * @since 1.2
-     */
-    public static final int VK_INVERTED_EXCLAMATION_MARK = 0x0206;
- 
-    /**
-     * Constant for the "(" key.
-     * @since 1.2
-     */
-    public static final int VK_LEFT_PARENTHESIS         = 0x0207;
- 
-    /**
-     * Constant for the "#" key.
-     * @since 1.2
-     */
-    public static final int VK_NUMBER_SIGN              = 0x0208;
- 
-    /**
-     * Constant for the "+" key.
-     * @since 1.2
-     */
-    public static final int VK_PLUS                     = 0x0209;
- 
-    /**
-     * Constant for the ")" key.
-     * @since 1.2
-     */
-    public static final int VK_RIGHT_PARENTHESIS        = 0x020A;
- 
-    /**
-     * Constant for the "_" key.
-     * @since 1.2
-     */
-    public static final int VK_UNDERSCORE               = 0x020B;
- 
-    /**
-     * Constant for the Microsoft Windows "Windows" key.
-     * It is used for both the left and right version of the key.  
-     * @see #getKeyLocation()
-     * @since 1.5
-     */
-    public static final int VK_WINDOWS                  = 0x020C;
- 
-    /**
-     * Constant for the Microsoft Windows Context Menu key.
-     * @since 1.5
-     */
-    public static final int VK_CONTEXT_MENU             = 0x020D;
- 
-    /* for input method support on Asian Keyboards */
-
-    /* not clear what this means - listed in Microsoft Windows API */
-    public static final int VK_FINAL                    = 0x0018;
-    
-    /** Constant for the Convert function key. */
-    /* Japanese PC 106 keyboard, Japanese Solaris keyboard: henkan */
-    public static final int VK_CONVERT                  = 0x001C;
-
-    /** Constant for the Don't Convert function key. */
-    /* Japanese PC 106 keyboard: muhenkan */
-    public static final int VK_NONCONVERT               = 0x001D;
-    
-    /** Constant for the Accept or Commit function key. */
-    /* Japanese Solaris keyboard: kakutei */
-    public static final int VK_ACCEPT                   = 0x001E;
-
-    /* not clear what this means - listed in Microsoft Windows API */
-    public static final int VK_MODECHANGE               = 0x001F;
-
-    /* replaced by VK_KANA_LOCK for Microsoft Windows and Solaris; 
-       might still be used on other platforms */
-    public static final int VK_KANA                     = 0x0015;
-
-    /* replaced by VK_INPUT_METHOD_ON_OFF for Microsoft Windows and Solaris; 
-       might still be used for other platforms */
-    public static final int VK_KANJI                    = 0x0019;
-
-    /**
-     * Constant for the Alphanumeric function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard: eisuu */
-    public static final int VK_ALPHANUMERIC             = 0x00F0;
- 
-    /**
-     * Constant for the Katakana function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard: katakana */
-    public static final int VK_KATAKANA                 = 0x00F1;
- 
-    /**
-     * Constant for the Hiragana function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard: hiragana */
-    public static final int VK_HIRAGANA                 = 0x00F2;
- 
-    /**
-     * Constant for the Full-Width Characters function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard: zenkaku */
-    public static final int VK_FULL_WIDTH               = 0x00F3;
- 
-    /**
-     * Constant for the Half-Width Characters function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard: hankaku */
-    public static final int VK_HALF_WIDTH               = 0x00F4;
- 
-    /**
-     * Constant for the Roman Characters function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard: roumaji */
-    public static final int VK_ROMAN_CHARACTERS         = 0x00F5;
- 
-    /**
-     * Constant for the All Candidates function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard - VK_CONVERT + ALT: zenkouho */
-    public static final int VK_ALL_CANDIDATES           = 0x0100;
- 
-    /**
-     * Constant for the Previous Candidate function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard - VK_CONVERT + SHIFT: maekouho */
-    public static final int VK_PREVIOUS_CANDIDATE       = 0x0101;
- 
-    /**
-     * Constant for the Code Input function key.
-     * @since 1.2
-     */
-    /* Japanese PC 106 keyboard - VK_ALPHANUMERIC + ALT: kanji bangou */
-    public static final int VK_CODE_INPUT               = 0x0102;
- 
-    /**
-     * Constant for the Japanese-Katakana function key.
-     * This key switches to a Japanese input method and selects its Katakana input mode.
-     * @since 1.2
-     */
-    /* Japanese Macintosh keyboard - VK_JAPANESE_HIRAGANA + SHIFT */
-    public static final int VK_JAPANESE_KATAKANA        = 0x0103;
- 
-    /**
-     * Constant for the Japanese-Hiragana function key.
-     * This key switches to a Japanese input method and selects its Hiragana input mode.
-     * @since 1.2
-     */
-    /* Japanese Macintosh keyboard */
-    public static final int VK_JAPANESE_HIRAGANA        = 0x0104;
- 
-    /**
-     * Constant for the Japanese-Roman function key.
-     * This key switches to a Japanese input method and selects its Roman-Direct input mode.
-     * @since 1.2
-     */
-    /* Japanese Macintosh keyboard */
-    public static final int VK_JAPANESE_ROMAN           = 0x0105;
-
-    /**
-     * Constant for the locking Kana function key.
-     * This key locks the keyboard into a Kana layout.
-     * @since 1.3
-     */
-    /* Japanese PC 106 keyboard with special Windows driver - eisuu + Control; Japanese Solaris keyboard: kana */
-    public static final int VK_KANA_LOCK                = 0x0106;
-
-    /**
-     * Constant for the input method on/off key.
-     * @since 1.3
-     */
-    /* Japanese PC 106 keyboard: kanji. Japanese Solaris keyboard: nihongo */
-    public static final int VK_INPUT_METHOD_ON_OFF      = 0x0107;
-
-    /* for Sun keyboards */
-    /** @since 1.2 */
-    public static final int VK_CUT                      = 0xFFD1;
-    /** @since 1.2 */
-    public static final int VK_COPY                     = 0xFFCD;
-    /** @since 1.2 */
-    public static final int VK_PASTE                    = 0xFFCF;
-    /** @since 1.2 */
-    public static final int VK_UNDO                     = 0xFFCB;
-    /** @since 1.2 */
-    public static final int VK_AGAIN                    = 0xFFC9;
-    /** @since 1.2 */
-    public static final int VK_FIND                     = 0xFFD0;
-    /** @since 1.2 */
-    public static final int VK_PROPS                    = 0xFFCA;
-    /** @since 1.2 */
-    public static final int VK_STOP                     = 0xFFC8;
-    
-    /**
-     * Constant for the Compose function key.
-     * @since 1.2
-     */
-    public static final int VK_COMPOSE                  = 0xFF20;
- 
-    /**
-     * Constant for the AltGraph function key.
-     * @since 1.2
-     */
-    public static final int VK_ALT_GRAPH                = 0xFF7E;
-
-    /**
-     * Constant for the Begin key.
-     * @since 1.5
-     */
-    public static final int VK_BEGIN                    = 0xFF58;
-
-    /**
-     * This value is used to indicate that the keyCode is unknown.
-     * KEY_TYPED events do not have a keyCode value; this value 
-     * is used instead.  
-     */
-    public static final int VK_UNDEFINED      = 0x0;
-}
-
diff --git a/src/newt/classes/com/jogamp/newt/KeyListener.java b/src/newt/classes/com/jogamp/newt/KeyListener.java
deleted file mode 100644
index 28e2b833b..000000000
--- a/src/newt/classes/com/jogamp/newt/KeyListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public interface KeyListener extends EventListener
-{
- public void keyPressed(KeyEvent e);
- public void keyReleased(KeyEvent e);
- public void keyTyped(KeyEvent e) ;
-}
-
diff --git a/src/newt/classes/com/jogamp/newt/MouseEvent.java b/src/newt/classes/com/jogamp/newt/MouseEvent.java
deleted file mode 100644
index d5412c0cc..000000000
--- a/src/newt/classes/com/jogamp/newt/MouseEvent.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public class MouseEvent extends InputEvent
-{
-  public static final int BUTTON1 = 1;
-  public static final int BUTTON2 = 2;
-  public static final int BUTTON3 = 3;
-  public static final int BUTTON4 = 4;
-  public static final int BUTTON5 = 5;
-  public static final int BUTTON6 = 6;
-  public static final int BUTTON_NUMBER = 6;
-
- protected MouseEvent(boolean sysEvent, int eventType, Window source, long when,
-                      int modifiers, int x, int y, int clickCount, int button,
-                      int rotation)
- {
-     super(sysEvent, eventType, source, when, modifiers); 
-     this.x=x;
-     this.y=y;
-     this.clickCount=clickCount;
-     this.button=button;
-     this.wheelRotation = rotation;
- }
- public MouseEvent(int eventType, Window source, long when, int modifiers,
-                   int x, int y, int clickCount, int button, int rotation) {
-     this(false, eventType, source, when, modifiers, x, y, clickCount, button,
-          rotation);
- }
-
- public int getButton() {
-    return button;
- }
- public int getClickCount() {
-    return clickCount;
- }
- public int getX() {
-    return x;
- }
- public int getY() {
-    return y;
- }
- public int getWheelRotation() {
-    return wheelRotation;
- }
- 
- public String toString() {
-    return "MouseEvent["+getEventTypeString(getEventType())+
-                       ", "+x+"/"+y+", button "+button+", count "+clickCount+
-                       ", wheel rotation "+wheelRotation+
-                       ", "+super.toString()+"]";
- }
-
- public static String getEventTypeString(int type) {
-    switch(type) {
-        case EVENT_MOUSE_CLICKED: return "EVENT_MOUSE_CLICKED";
-        case EVENT_MOUSE_ENTERED: return "EVENT_MOUSE_ENTERED";
-        case EVENT_MOUSE_EXITED: return "EVENT_MOUSE_EXITED";
-        case EVENT_MOUSE_PRESSED: return "EVENT_MOUSE_PRESSED";
-        case EVENT_MOUSE_RELEASED: return "EVENT_MOUSE_RELEASED";
-        case EVENT_MOUSE_MOVED: return "EVENT_MOUSE_MOVED";
-        case EVENT_MOUSE_DRAGGED: return "EVENT_MOUSE_DRAGGED";
-        case EVENT_MOUSE_WHEEL_MOVED: return "EVENT_MOUSE_WHEEL_MOVED";
-        default: return "unknown (" + type + ")";
-    }
- }
-
- private int x, y, clickCount, button, wheelRotation;
-
- public static final int EVENT_MOUSE_CLICKED  = 200;
- public static final int EVENT_MOUSE_ENTERED  = 201;
- public static final int EVENT_MOUSE_EXITED   = 202;
- public static final int EVENT_MOUSE_PRESSED  = 203;
- public static final int EVENT_MOUSE_RELEASED = 204;
- public static final int EVENT_MOUSE_MOVED    = 205;
- public static final int EVENT_MOUSE_DRAGGED  = 206;
- public static final int EVENT_MOUSE_WHEEL_MOVED = 207;
-}
diff --git a/src/newt/classes/com/jogamp/newt/MouseListener.java b/src/newt/classes/com/jogamp/newt/MouseListener.java
deleted file mode 100644
index 6d931dd31..000000000
--- a/src/newt/classes/com/jogamp/newt/MouseListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public interface MouseListener extends EventListener
-{
- public void mouseClicked(MouseEvent e);
- public void mouseEntered(MouseEvent e);
- public void mouseExited(MouseEvent e);
- public void mousePressed(MouseEvent e);
- public void mouseReleased(MouseEvent e);
- public void mouseMoved(MouseEvent e);
- public void mouseDragged(MouseEvent e);
- public void mouseWheelMoved(MouseEvent e);
-}
-
diff --git a/src/newt/classes/com/jogamp/newt/PaintEvent.java b/src/newt/classes/com/jogamp/newt/PaintEvent.java
deleted file mode 100755
index 51c43725a..000000000
--- a/src/newt/classes/com/jogamp/newt/PaintEvent.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- *
- */
-
-package com.jogamp.newt;
-
-/**
- *
- * @author tdv
- */
-public class PaintEvent extends Event {
-
-    // bounds of the damage region
-    private int x, y, width, height;
-    public PaintEvent(int eventType, Window source,
-                       long when, int x, int y, int w, int h)
-    {
-        super(true, eventType, source, when);
-        this.x = x;
-        this.y = y;
-        this.width = w;
-        this.height = h;
-    }
-
-    public int getHeight() {
-        return height;
-    }
-
-    public int getWidth() {
-        return width;
-    }
-
-    public int getX() {
-        return x;
-    }
-
-    public int getY() {
-        return y;
-    }
-
-    public String toString() {
-        return "ExposeEvent[modifiers: x="+x+" y="+y+" w="+width+" h="+height +"]";
-    }
-
-}
diff --git a/src/newt/classes/com/jogamp/newt/PaintListener.java b/src/newt/classes/com/jogamp/newt/PaintListener.java
deleted file mode 100755
index 6fbc9c8fc..000000000
--- a/src/newt/classes/com/jogamp/newt/PaintListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- *
- */
-
-package com.jogamp.newt;
-
-/**
- *
- * @author tdv
- */
-public interface PaintListener {
-    public void exposed(PaintEvent e);
-}
diff --git a/src/newt/classes/com/jogamp/newt/WindowEvent.java b/src/newt/classes/com/jogamp/newt/WindowEvent.java
deleted file mode 100644
index 1189401af..000000000
--- a/src/newt/classes/com/jogamp/newt/WindowEvent.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public class WindowEvent extends Event {
-    public static final int EVENT_WINDOW_RESIZED = 100;
-    public static final int EVENT_WINDOW_MOVED   = 101; 
-    public static final int EVENT_WINDOW_DESTROY_NOTIFY = 102;
-    public static final int EVENT_WINDOW_GAINED_FOCUS = 103;
-    public static final int EVENT_WINDOW_LOST_FOCUS = 104;
-    // public static final int EVENT_WINDOW_REPAINT = 105; // TODO
-
-    public WindowEvent(int eventType, Window source, long when) {
-        this(false, eventType, source, when);
-    }
-
-    WindowEvent(boolean isSystemEvent, int eventType, Window source, long when) {
-        super(isSystemEvent, eventType, source, when);
-    }
-
-    public static String getEventTypeString(int type) {
-        switch(type) {
-            case EVENT_WINDOW_RESIZED: return "WINDOW_RESIZED";
-            case EVENT_WINDOW_MOVED:   return "WINDOW_MOVED";
-            case EVENT_WINDOW_DESTROY_NOTIFY:   return "EVENT_WINDOW_DESTROY_NOTIFY";
-            case EVENT_WINDOW_GAINED_FOCUS:   return "EVENT_WINDOW_GAINED_FOCUS";
-            case EVENT_WINDOW_LOST_FOCUS:   return "EVENT_WINDOW_LOST_FOCUS";
-            // case EVENT_WINDOW_REPAINT:   return "EVENT_WINDOW_REPAINT";
-            default: return "unknown (" + type + ")";
-        }
-    }
-    public String toString() {
-        return "WindowEvent["+getEventTypeString(getEventType()) +
-            ", " + super.toString() + "]";
-    }
-}
diff --git a/src/newt/classes/com/jogamp/newt/WindowListener.java b/src/newt/classes/com/jogamp/newt/WindowListener.java
deleted file mode 100644
index 0ec63435c..000000000
--- a/src/newt/classes/com/jogamp/newt/WindowListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * 
- * - Redistribution of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * 
- * - Redistribution in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * 
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- * 
- */
-
-package com.jogamp.newt;
-
-public interface WindowListener extends EventListener {
-    public void windowResized(WindowEvent e);
-    public void windowMoved(WindowEvent e);
-    public void windowDestroyNotify(WindowEvent e);
-    public void windowGainedFocus(WindowEvent e);
-    public void windowLostFocus(WindowEvent e);
-}
diff --git a/src/newt/classes/com/jogamp/newt/event/Event.java b/src/newt/classes/com/jogamp/newt/event/Event.java
new file mode 100644
index 000000000..d42a95735
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/Event.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt;
+
+public class Event {
+    private boolean isSystemEvent;
+    private int eventType;
+    private Window source;
+    private long when;
+
+    Event(boolean isSystemEvent, int eventType, Window source, long when) {
+        this.isSystemEvent = isSystemEvent;
+        this.eventType = eventType;
+        this.source = source;
+        this.when = when;
+    }
+
+    protected Event(int eventType, Window source, long when) {
+        this(false, eventType, source, when);
+    }
+
+    /** Indicates whether this event was produced by the system or
+        generated by user code. */
+    public final boolean isSystemEvent() {
+        return isSystemEvent;
+    }
+
+    /** Returns the event type of this event. */
+    public final int getEventType() {
+        return eventType;
+    }
+
+    /** Returns the source Window which produced this Event. */
+    public final Window getSource() {
+        return source;
+    }
+
+    /** Returns the timestamp, in milliseconds, of this event. */
+    public final long getWhen()  {
+        return when;
+    }
+
+    public String toString() {
+        return "Event[sys:"+isSystemEvent()+", source:"+getSource()+", when:"+getWhen()+"]";
+    }
+
+    public static String toHexString(int hex) {
+        return "0x" + Integer.toHexString(hex);
+    }
+
+    public static String toHexString(long hex) {
+        return "0x" + Long.toHexString(hex);
+    }
+
+}
diff --git a/src/newt/classes/com/jogamp/newt/event/EventListener.java b/src/newt/classes/com/jogamp/newt/event/EventListener.java
new file mode 100644
index 000000000..e47b9ccb3
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/EventListener.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public interface EventListener extends java.util.EventListener
+{
+    public static final int WINDOW  = 1 << 0;
+    public static final int MOUSE   = 1 << 1;
+    public static final int KEY     = 1 << 2;
+    public static final int SURFACE = 1 << 3;
+
+}
+
diff --git a/src/newt/classes/com/jogamp/newt/event/InputEvent.java b/src/newt/classes/com/jogamp/newt/event/InputEvent.java
new file mode 100644
index 000000000..01a4b307a
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/InputEvent.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public abstract class InputEvent extends Event
+{
+ public static final int  SHIFT_MASK     = 1 << 0;
+ public static final int  CTRL_MASK      = 1 << 1;
+ public static final int  META_MASK      = 1 << 2;
+ public static final int  ALT_MASK       = 1 << 3;
+ public static final int  ALT_GRAPH_MASK = 1 << 5;
+ public static final int  BUTTON1_MASK   = 1 << 6;
+ public static final int  BUTTON2_MASK   = 1 << 7;
+ public static final int  BUTTON3_MASK   = 1 << 8;
+
+ protected InputEvent(int eventType, Object source, long when, int modifiers) {
+    super(eventType, source, when);
+    this.consumed=false;
+    this.modifiers=modifiers;
+ }
+
+ public void consume() {
+    consumed=true;
+ }
+
+ public boolean isConsumed() {
+    return consumed;
+ }
+ public int getModifiers() {
+    return modifiers;
+ }
+ public boolean isAltDown() {
+    return (modifiers&ALT_MASK)!=0;
+ }
+ public boolean isAltGraphDown() {
+    return (modifiers&ALT_GRAPH_MASK)!=0;
+ }
+ public boolean isControlDown() {
+    return (modifiers&CTRL_MASK)!=0;
+ }
+ public boolean isMetaDown() {
+    return (modifiers&META_MASK)!=0;
+ }
+ public boolean isShiftDown()  {
+    return (modifiers&SHIFT_MASK)!=0;
+ }
+
+ public boolean isButton1Down()  {
+    return (modifiers&BUTTON1_MASK)!=0;
+ }
+
+ public boolean isButton2Down()  {
+    return (modifiers&BUTTON2_MASK)!=0;
+ }
+
+ public boolean isButton3Down()  {
+    return (modifiers&BUTTON3_MASK)!=0;
+ }
+
+ public String toString() {
+     return "InputEvent[modifiers:"+modifiers+"]";
+ }
+
+ private boolean consumed;
+ private int modifiers;
+}
diff --git a/src/newt/classes/com/jogamp/newt/event/KeyEvent.java b/src/newt/classes/com/jogamp/newt/event/KeyEvent.java
new file mode 100644
index 000000000..f5ade47d8
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/KeyEvent.java
@@ -0,0 +1,737 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public class KeyEvent extends InputEvent
+{
+ public KeyEvent(int eventType, Object source, long when, int modifiers, int keyCode, char keyChar) {
+     super(eventType, source, when, modifiers); 
+     this.keyCode=keyCode;
+     this.keyChar=keyChar;
+ }
+
+ public char getKeyChar() {
+    return keyChar;
+ }
+ public int getKeyCode() {
+    return keyCode;
+ }
+
+ public String toString() {
+    return "KeyEvent["+getEventTypeString(getEventType())+
+                     ", code "+keyCode+"("+toHexString(keyCode)+"), char <"+keyChar+"> ("+toHexString((int)keyChar)+"), isActionKey "+isActionKey()+", "+super.toString()+"]";
+ }
+
+ public static String getEventTypeString(int type) {
+    switch(type) {
+        case EVENT_KEY_PRESSED: return "EVENT_KEY_PRESSED";
+        case EVENT_KEY_RELEASED: return "EVENT_KEY_RELEASED";
+        case EVENT_KEY_TYPED: return "EVENT_KEY_TYPED";
+        default: return "unknown (" + type + ")";
+    }
+ }
+
+ public boolean   isActionKey() {
+    switch (keyCode) {
+      case VK_HOME:
+      case VK_END:
+      case VK_PAGE_UP:
+      case VK_PAGE_DOWN:
+      case VK_UP:
+      case VK_DOWN:
+      case VK_LEFT:
+      case VK_RIGHT:
+
+      case VK_F1:
+      case VK_F2:
+      case VK_F3:
+      case VK_F4:
+      case VK_F5:
+      case VK_F6:
+      case VK_F7:
+      case VK_F8:
+      case VK_F9:
+      case VK_F10:
+      case VK_F11:
+      case VK_F12:
+      case VK_F13:
+      case VK_F14:
+      case VK_F15:
+      case VK_F16:
+      case VK_F17:
+      case VK_F18:
+      case VK_F19:
+      case VK_F20:
+      case VK_F21:
+      case VK_F22:
+      case VK_F23:
+      case VK_F24:
+      case VK_PRINTSCREEN:
+      case VK_CAPS_LOCK:
+      case VK_PAUSE:
+      case VK_INSERT:
+
+      case VK_HELP:
+      case VK_WINDOWS:
+          return true;
+    }
+    return false;
+ }
+
+    private int keyCode;
+    private char keyChar;
+
+    public static final int EVENT_KEY_PRESSED = 300;
+    public static final int EVENT_KEY_RELEASED= 301;
+    public static final int EVENT_KEY_TYPED   = 302;
+
+    /* Virtual key codes. */
+
+    public static final int VK_ENTER          = '\n';
+    public static final int VK_BACK_SPACE     = '\b';
+    public static final int VK_TAB            = '\t';
+    public static final int VK_CANCEL         = 0x03;
+    public static final int VK_CLEAR          = 0x0C;
+    public static final int VK_SHIFT          = 0x10;
+    public static final int VK_CONTROL        = 0x11;
+    public static final int VK_ALT            = 0x12;
+    public static final int VK_PAUSE          = 0x13;
+    public static final int VK_CAPS_LOCK      = 0x14;
+    public static final int VK_ESCAPE         = 0x1B;
+    public static final int VK_SPACE          = 0x20;
+    public static final int VK_PAGE_UP        = 0x21;
+    public static final int VK_PAGE_DOWN      = 0x22;
+    public static final int VK_END            = 0x23;
+    public static final int VK_HOME           = 0x24;
+
+    /**
+     * Constant for the non-numpad <b>left</b> arrow key.
+     * @see #VK_KP_LEFT
+     */
+    public static final int VK_LEFT           = 0x25;
+
+    /**
+     * Constant for the non-numpad <b>up</b> arrow key.
+     * @see #VK_KP_UP
+     */
+    public static final int VK_UP             = 0x26;
+
+    /**
+     * Constant for the non-numpad <b>right</b> arrow key.
+     * @see #VK_KP_RIGHT
+     */
+    public static final int VK_RIGHT          = 0x27;
+
+    /**
+     * Constant for the non-numpad <b>down</b> arrow key.
+     * @see #VK_KP_DOWN
+     */
+    public static final int VK_DOWN           = 0x28;
+
+    /**
+     * Constant for the comma key, ","
+     */
+    public static final int VK_COMMA          = 0x2C;
+
+    /**
+     * Constant for the minus key, "-"
+     * @since 1.2
+     */
+    public static final int VK_MINUS          = 0x2D;
+
+    /**
+     * Constant for the period key, "."
+     */
+    public static final int VK_PERIOD         = 0x2E;
+
+    /**
+     * Constant for the forward slash key, "/"
+     */
+    public static final int VK_SLASH          = 0x2F;
+
+    /** VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
+    public static final int VK_0              = 0x30;
+    public static final int VK_1              = 0x31;
+    public static final int VK_2              = 0x32;
+    public static final int VK_3              = 0x33;
+    public static final int VK_4              = 0x34;
+    public static final int VK_5              = 0x35;
+    public static final int VK_6              = 0x36;
+    public static final int VK_7              = 0x37;
+    public static final int VK_8              = 0x38;
+    public static final int VK_9              = 0x39;
+
+    /**
+     * Constant for the semicolon key, ";"
+     */
+    public static final int VK_SEMICOLON      = 0x3B;
+
+    /**
+     * Constant for the equals key, "="
+     */
+    public static final int VK_EQUALS         = 0x3D;
+
+    /** VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
+    public static final int VK_A              = 0x41;
+    public static final int VK_B              = 0x42;
+    public static final int VK_C              = 0x43;
+    public static final int VK_D              = 0x44;
+    public static final int VK_E              = 0x45;
+    public static final int VK_F              = 0x46;
+    public static final int VK_G              = 0x47;
+    public static final int VK_H              = 0x48;
+    public static final int VK_I              = 0x49;
+    public static final int VK_J              = 0x4A;
+    public static final int VK_K              = 0x4B;
+    public static final int VK_L              = 0x4C;
+    public static final int VK_M              = 0x4D;
+    public static final int VK_N              = 0x4E;
+    public static final int VK_O              = 0x4F;
+    public static final int VK_P              = 0x50;
+    public static final int VK_Q              = 0x51;
+    public static final int VK_R              = 0x52;
+    public static final int VK_S              = 0x53;
+    public static final int VK_T              = 0x54;
+    public static final int VK_U              = 0x55;
+    public static final int VK_V              = 0x56;
+    public static final int VK_W              = 0x57;
+    public static final int VK_X              = 0x58;
+    public static final int VK_Y              = 0x59;
+    public static final int VK_Z              = 0x5A;
+
+    /**
+     * Constant for the open bracket key, "["
+     */
+    public static final int VK_OPEN_BRACKET   = 0x5B;
+
+    /**
+     * Constant for the back slash key, "\"
+     */
+    public static final int VK_BACK_SLASH     = 0x5C;
+
+    /**
+     * Constant for the close bracket key, "]"
+     */
+    public static final int VK_CLOSE_BRACKET  = 0x5D;
+
+    public static final int VK_NUMPAD0        = 0x60;
+    public static final int VK_NUMPAD1        = 0x61;
+    public static final int VK_NUMPAD2        = 0x62;
+    public static final int VK_NUMPAD3        = 0x63;
+    public static final int VK_NUMPAD4        = 0x64;
+    public static final int VK_NUMPAD5        = 0x65;
+    public static final int VK_NUMPAD6        = 0x66;
+    public static final int VK_NUMPAD7        = 0x67;
+    public static final int VK_NUMPAD8        = 0x68;
+    public static final int VK_NUMPAD9        = 0x69;
+    public static final int VK_MULTIPLY       = 0x6A;
+    public static final int VK_ADD            = 0x6B;
+
+    /** 
+     * This constant is obsolete, and is included only for backwards
+     * compatibility.
+     * @see #VK_SEPARATOR
+     */
+    public static final int VK_SEPARATER      = 0x6C;
+
+    /** 
+     * Constant for the Numpad Separator key. 
+     * @since 1.4
+     */
+    public static final int VK_SEPARATOR      = VK_SEPARATER;
+
+    public static final int VK_SUBTRACT       = 0x6D;
+    public static final int VK_DECIMAL        = 0x6E;
+    public static final int VK_DIVIDE         = 0x6F;
+    public static final int VK_DELETE         = 0x7F; /* ASCII DEL */
+    public static final int VK_NUM_LOCK       = 0x90;
+    public static final int VK_SCROLL_LOCK    = 0x91;
+
+    /** Constant for the F1 function key. */
+    public static final int VK_F1             = 0x70;
+
+    /** Constant for the F2 function key. */
+    public static final int VK_F2             = 0x71;
+
+    /** Constant for the F3 function key. */
+    public static final int VK_F3             = 0x72;
+
+    /** Constant for the F4 function key. */
+    public static final int VK_F4             = 0x73;
+
+    /** Constant for the F5 function key. */
+    public static final int VK_F5             = 0x74;
+
+    /** Constant for the F6 function key. */
+    public static final int VK_F6             = 0x75;
+
+    /** Constant for the F7 function key. */
+    public static final int VK_F7             = 0x76;
+
+    /** Constant for the F8 function key. */
+    public static final int VK_F8             = 0x77;
+
+    /** Constant for the F9 function key. */
+    public static final int VK_F9             = 0x78;
+
+    /** Constant for the F10 function key. */
+    public static final int VK_F10            = 0x79;
+
+    /** Constant for the F11 function key. */
+    public static final int VK_F11            = 0x7A;
+
+    /** Constant for the F12 function key. */
+    public static final int VK_F12            = 0x7B;
+
+    /**
+     * Constant for the F13 function key.
+     * @since 1.2
+     */
+    /* F13 - F24 are used on IBM 3270 keyboard; use random range for constants. */
+    public static final int VK_F13            = 0xF000;
+ 
+    /**
+     * Constant for the F14 function key.
+     * @since 1.2
+     */
+    public static final int VK_F14            = 0xF001;
+ 
+    /**
+     * Constant for the F15 function key.
+     * @since 1.2
+     */
+    public static final int VK_F15            = 0xF002;
+ 
+    /**
+     * Constant for the F16 function key.
+     * @since 1.2
+     */
+    public static final int VK_F16            = 0xF003;
+ 
+    /**
+     * Constant for the F17 function key.
+     * @since 1.2
+     */
+    public static final int VK_F17            = 0xF004;
+ 
+    /**
+     * Constant for the F18 function key.
+     * @since 1.2
+     */
+    public static final int VK_F18            = 0xF005;
+ 
+    /**
+     * Constant for the F19 function key.
+     * @since 1.2
+     */
+    public static final int VK_F19            = 0xF006;
+ 
+    /**
+     * Constant for the F20 function key.
+     * @since 1.2
+     */
+    public static final int VK_F20            = 0xF007;
+ 
+    /**
+     * Constant for the F21 function key.
+     * @since 1.2
+     */
+    public static final int VK_F21            = 0xF008;
+ 
+    /**
+     * Constant for the F22 function key.
+     * @since 1.2
+     */
+    public static final int VK_F22            = 0xF009;
+ 
+    /**
+     * Constant for the F23 function key.
+     * @since 1.2
+     */
+    public static final int VK_F23            = 0xF00A;
+ 
+    /**
+     * Constant for the F24 function key.
+     * @since 1.2
+     */
+    public static final int VK_F24            = 0xF00B;
+ 
+    public static final int VK_PRINTSCREEN    = 0x9A;
+    public static final int VK_INSERT         = 0x9B;
+    public static final int VK_HELP           = 0x9C;
+    public static final int VK_META           = 0x9D;
+
+    public static final int VK_BACK_QUOTE     = 0xC0;
+    public static final int VK_QUOTE          = 0xDE;
+
+    /**
+     * Constant for the numeric keypad <b>up</b> arrow key.
+     * @see #VK_UP
+     * @since 1.2
+     */
+    public static final int VK_KP_UP          = 0xE0;
+
+    /**
+     * Constant for the numeric keypad <b>down</b> arrow key.
+     * @see #VK_DOWN
+     * @since 1.2
+     */
+    public static final int VK_KP_DOWN        = 0xE1;
+
+    /**
+     * Constant for the numeric keypad <b>left</b> arrow key.
+     * @see #VK_LEFT
+     * @since 1.2
+     */
+    public static final int VK_KP_LEFT        = 0xE2;
+
+    /**
+     * Constant for the numeric keypad <b>right</b> arrow key.
+     * @see #VK_RIGHT
+     * @since 1.2
+     */
+    public static final int VK_KP_RIGHT       = 0xE3;
+    
+    /* For European keyboards */
+    /** @since 1.2 */
+    public static final int VK_DEAD_GRAVE               = 0x80;
+    /** @since 1.2 */
+    public static final int VK_DEAD_ACUTE               = 0x81;
+    /** @since 1.2 */
+    public static final int VK_DEAD_CIRCUMFLEX          = 0x82;
+    /** @since 1.2 */
+    public static final int VK_DEAD_TILDE               = 0x83;
+    /** @since 1.2 */
+    public static final int VK_DEAD_MACRON              = 0x84;
+    /** @since 1.2 */
+    public static final int VK_DEAD_BREVE               = 0x85;
+    /** @since 1.2 */
+    public static final int VK_DEAD_ABOVEDOT            = 0x86;
+    /** @since 1.2 */
+    public static final int VK_DEAD_DIAERESIS           = 0x87;
+    /** @since 1.2 */
+    public static final int VK_DEAD_ABOVERING           = 0x88;
+    /** @since 1.2 */
+    public static final int VK_DEAD_DOUBLEACUTE         = 0x89;
+    /** @since 1.2 */
+    public static final int VK_DEAD_CARON               = 0x8a;
+    /** @since 1.2 */
+    public static final int VK_DEAD_CEDILLA             = 0x8b;
+    /** @since 1.2 */
+    public static final int VK_DEAD_OGONEK              = 0x8c;
+    /** @since 1.2 */
+    public static final int VK_DEAD_IOTA                = 0x8d;
+    /** @since 1.2 */
+    public static final int VK_DEAD_VOICED_SOUND        = 0x8e;
+    /** @since 1.2 */
+    public static final int VK_DEAD_SEMIVOICED_SOUND    = 0x8f;
+
+    /** @since 1.2 */
+    public static final int VK_AMPERSAND                = 0x96;
+    /** @since 1.2 */
+    public static final int VK_ASTERISK                 = 0x97;
+    /** @since 1.2 */
+    public static final int VK_QUOTEDBL                 = 0x98;
+    /** @since 1.2 */
+    public static final int VK_LESS                     = 0x99;
+
+    /** @since 1.2 */
+    public static final int VK_GREATER                  = 0xa0;
+    /** @since 1.2 */
+    public static final int VK_BRACELEFT                = 0xa1;
+    /** @since 1.2 */
+    public static final int VK_BRACERIGHT               = 0xa2;
+
+    /**
+     * Constant for the "@" key.
+     * @since 1.2
+     */
+    public static final int VK_AT                       = 0x0200;
+ 
+    /**
+     * Constant for the ":" key.
+     * @since 1.2
+     */
+    public static final int VK_COLON                    = 0x0201;
+ 
+    /**
+     * Constant for the "^" key.
+     * @since 1.2
+     */
+    public static final int VK_CIRCUMFLEX               = 0x0202;
+ 
+    /**
+     * Constant for the "$" key.
+     * @since 1.2
+     */
+    public static final int VK_DOLLAR                   = 0x0203;
+ 
+    /**
+     * Constant for the Euro currency sign key.
+     * @since 1.2
+     */
+    public static final int VK_EURO_SIGN                = 0x0204;
+ 
+    /**
+     * Constant for the "!" key.
+     * @since 1.2
+     */
+    public static final int VK_EXCLAMATION_MARK         = 0x0205;
+ 
+    /**
+     * Constant for the inverted exclamation mark key.
+     * @since 1.2
+     */
+    public static final int VK_INVERTED_EXCLAMATION_MARK = 0x0206;
+ 
+    /**
+     * Constant for the "(" key.
+     * @since 1.2
+     */
+    public static final int VK_LEFT_PARENTHESIS         = 0x0207;
+ 
+    /**
+     * Constant for the "#" key.
+     * @since 1.2
+     */
+    public static final int VK_NUMBER_SIGN              = 0x0208;
+ 
+    /**
+     * Constant for the "+" key.
+     * @since 1.2
+     */
+    public static final int VK_PLUS                     = 0x0209;
+ 
+    /**
+     * Constant for the ")" key.
+     * @since 1.2
+     */
+    public static final int VK_RIGHT_PARENTHESIS        = 0x020A;
+ 
+    /**
+     * Constant for the "_" key.
+     * @since 1.2
+     */
+    public static final int VK_UNDERSCORE               = 0x020B;
+ 
+    /**
+     * Constant for the Microsoft Windows "Windows" key.
+     * It is used for both the left and right version of the key.  
+     * @see #getKeyLocation()
+     * @since 1.5
+     */
+    public static final int VK_WINDOWS                  = 0x020C;
+ 
+    /**
+     * Constant for the Microsoft Windows Context Menu key.
+     * @since 1.5
+     */
+    public static final int VK_CONTEXT_MENU             = 0x020D;
+ 
+    /* for input method support on Asian Keyboards */
+
+    /* not clear what this means - listed in Microsoft Windows API */
+    public static final int VK_FINAL                    = 0x0018;
+    
+    /** Constant for the Convert function key. */
+    /* Japanese PC 106 keyboard, Japanese Solaris keyboard: henkan */
+    public static final int VK_CONVERT                  = 0x001C;
+
+    /** Constant for the Don't Convert function key. */
+    /* Japanese PC 106 keyboard: muhenkan */
+    public static final int VK_NONCONVERT               = 0x001D;
+    
+    /** Constant for the Accept or Commit function key. */
+    /* Japanese Solaris keyboard: kakutei */
+    public static final int VK_ACCEPT                   = 0x001E;
+
+    /* not clear what this means - listed in Microsoft Windows API */
+    public static final int VK_MODECHANGE               = 0x001F;
+
+    /* replaced by VK_KANA_LOCK for Microsoft Windows and Solaris; 
+       might still be used on other platforms */
+    public static final int VK_KANA                     = 0x0015;
+
+    /* replaced by VK_INPUT_METHOD_ON_OFF for Microsoft Windows and Solaris; 
+       might still be used for other platforms */
+    public static final int VK_KANJI                    = 0x0019;
+
+    /**
+     * Constant for the Alphanumeric function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard: eisuu */
+    public static final int VK_ALPHANUMERIC             = 0x00F0;
+ 
+    /**
+     * Constant for the Katakana function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard: katakana */
+    public static final int VK_KATAKANA                 = 0x00F1;
+ 
+    /**
+     * Constant for the Hiragana function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard: hiragana */
+    public static final int VK_HIRAGANA                 = 0x00F2;
+ 
+    /**
+     * Constant for the Full-Width Characters function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard: zenkaku */
+    public static final int VK_FULL_WIDTH               = 0x00F3;
+ 
+    /**
+     * Constant for the Half-Width Characters function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard: hankaku */
+    public static final int VK_HALF_WIDTH               = 0x00F4;
+ 
+    /**
+     * Constant for the Roman Characters function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard: roumaji */
+    public static final int VK_ROMAN_CHARACTERS         = 0x00F5;
+ 
+    /**
+     * Constant for the All Candidates function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard - VK_CONVERT + ALT: zenkouho */
+    public static final int VK_ALL_CANDIDATES           = 0x0100;
+ 
+    /**
+     * Constant for the Previous Candidate function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard - VK_CONVERT + SHIFT: maekouho */
+    public static final int VK_PREVIOUS_CANDIDATE       = 0x0101;
+ 
+    /**
+     * Constant for the Code Input function key.
+     * @since 1.2
+     */
+    /* Japanese PC 106 keyboard - VK_ALPHANUMERIC + ALT: kanji bangou */
+    public static final int VK_CODE_INPUT               = 0x0102;
+ 
+    /**
+     * Constant for the Japanese-Katakana function key.
+     * This key switches to a Japanese input method and selects its Katakana input mode.
+     * @since 1.2
+     */
+    /* Japanese Macintosh keyboard - VK_JAPANESE_HIRAGANA + SHIFT */
+    public static final int VK_JAPANESE_KATAKANA        = 0x0103;
+ 
+    /**
+     * Constant for the Japanese-Hiragana function key.
+     * This key switches to a Japanese input method and selects its Hiragana input mode.
+     * @since 1.2
+     */
+    /* Japanese Macintosh keyboard */
+    public static final int VK_JAPANESE_HIRAGANA        = 0x0104;
+ 
+    /**
+     * Constant for the Japanese-Roman function key.
+     * This key switches to a Japanese input method and selects its Roman-Direct input mode.
+     * @since 1.2
+     */
+    /* Japanese Macintosh keyboard */
+    public static final int VK_JAPANESE_ROMAN           = 0x0105;
+
+    /**
+     * Constant for the locking Kana function key.
+     * This key locks the keyboard into a Kana layout.
+     * @since 1.3
+     */
+    /* Japanese PC 106 keyboard with special Windows driver - eisuu + Control; Japanese Solaris keyboard: kana */
+    public static final int VK_KANA_LOCK                = 0x0106;
+
+    /**
+     * Constant for the input method on/off key.
+     * @since 1.3
+     */
+    /* Japanese PC 106 keyboard: kanji. Japanese Solaris keyboard: nihongo */
+    public static final int VK_INPUT_METHOD_ON_OFF      = 0x0107;
+
+    /* for Sun keyboards */
+    /** @since 1.2 */
+    public static final int VK_CUT                      = 0xFFD1;
+    /** @since 1.2 */
+    public static final int VK_COPY                     = 0xFFCD;
+    /** @since 1.2 */
+    public static final int VK_PASTE                    = 0xFFCF;
+    /** @since 1.2 */
+    public static final int VK_UNDO                     = 0xFFCB;
+    /** @since 1.2 */
+    public static final int VK_AGAIN                    = 0xFFC9;
+    /** @since 1.2 */
+    public static final int VK_FIND                     = 0xFFD0;
+    /** @since 1.2 */
+    public static final int VK_PROPS                    = 0xFFCA;
+    /** @since 1.2 */
+    public static final int VK_STOP                     = 0xFFC8;
+    
+    /**
+     * Constant for the Compose function key.
+     * @since 1.2
+     */
+    public static final int VK_COMPOSE                  = 0xFF20;
+ 
+    /**
+     * Constant for the AltGraph function key.
+     * @since 1.2
+     */
+    public static final int VK_ALT_GRAPH                = 0xFF7E;
+
+    /**
+     * Constant for the Begin key.
+     * @since 1.5
+     */
+    public static final int VK_BEGIN                    = 0xFF58;
+
+    /**
+     * This value is used to indicate that the keyCode is unknown.
+     * KEY_TYPED events do not have a keyCode value; this value 
+     * is used instead.  
+     */
+    public static final int VK_UNDEFINED      = 0x0;
+}
+
diff --git a/src/newt/classes/com/jogamp/newt/event/KeyListener.java b/src/newt/classes/com/jogamp/newt/event/KeyListener.java
new file mode 100644
index 000000000..925a902f7
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/KeyListener.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public interface KeyListener extends EventListener
+{
+ public void keyPressed(KeyEvent e);
+ public void keyReleased(KeyEvent e);
+ public void keyTyped(KeyEvent e) ;
+}
+
diff --git a/src/newt/classes/com/jogamp/newt/event/MouseEvent.java b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java
new file mode 100644
index 000000000..662b81c9e
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/MouseEvent.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public class MouseEvent extends InputEvent
+{
+  public static final int BUTTON1 = 1;
+  public static final int BUTTON2 = 2;
+  public static final int BUTTON3 = 3;
+  public static final int BUTTON4 = 4;
+  public static final int BUTTON5 = 5;
+  public static final int BUTTON6 = 6;
+  public static final int BUTTON_NUMBER = 6;
+
+ public MouseEvent(int eventType, Object source, long when,
+                   int modifiers, int x, int y, int clickCount, int button,
+                   int rotation)
+ {
+     super(eventType, source, when, modifiers); 
+     this.x=x;
+     this.y=y;
+     this.clickCount=clickCount;
+     this.button=button;
+     this.wheelRotation = rotation;
+ }
+
+ public int getButton() {
+    return button;
+ }
+ public int getClickCount() {
+    return clickCount;
+ }
+ public int getX() {
+    return x;
+ }
+ public int getY() {
+    return y;
+ }
+ public int getWheelRotation() {
+    return wheelRotation;
+ }
+ 
+ public String toString() {
+    return "MouseEvent["+getEventTypeString(getEventType())+
+                       ", "+x+"/"+y+", button "+button+", count "+clickCount+
+                       ", wheel rotation "+wheelRotation+
+                       ", "+super.toString()+"]";
+ }
+
+ public static String getEventTypeString(int type) {
+    switch(type) {
+        case EVENT_MOUSE_CLICKED: return "EVENT_MOUSE_CLICKED";
+        case EVENT_MOUSE_ENTERED: return "EVENT_MOUSE_ENTERED";
+        case EVENT_MOUSE_EXITED: return "EVENT_MOUSE_EXITED";
+        case EVENT_MOUSE_PRESSED: return "EVENT_MOUSE_PRESSED";
+        case EVENT_MOUSE_RELEASED: return "EVENT_MOUSE_RELEASED";
+        case EVENT_MOUSE_MOVED: return "EVENT_MOUSE_MOVED";
+        case EVENT_MOUSE_DRAGGED: return "EVENT_MOUSE_DRAGGED";
+        case EVENT_MOUSE_WHEEL_MOVED: return "EVENT_MOUSE_WHEEL_MOVED";
+        default: return "unknown (" + type + ")";
+    }
+ }
+
+ private int x, y, clickCount, button, wheelRotation;
+
+ public static final int EVENT_MOUSE_CLICKED  = 200;
+ public static final int EVENT_MOUSE_ENTERED  = 201;
+ public static final int EVENT_MOUSE_EXITED   = 202;
+ public static final int EVENT_MOUSE_PRESSED  = 203;
+ public static final int EVENT_MOUSE_RELEASED = 204;
+ public static final int EVENT_MOUSE_MOVED    = 205;
+ public static final int EVENT_MOUSE_DRAGGED  = 206;
+ public static final int EVENT_MOUSE_WHEEL_MOVED = 207;
+}
diff --git a/src/newt/classes/com/jogamp/newt/event/MouseListener.java b/src/newt/classes/com/jogamp/newt/event/MouseListener.java
new file mode 100644
index 000000000..3d5b4d83f
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/MouseListener.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public interface MouseListener extends EventListener
+{
+ public void mouseClicked(MouseEvent e);
+ public void mouseEntered(MouseEvent e);
+ public void mouseExited(MouseEvent e);
+ public void mousePressed(MouseEvent e);
+ public void mouseReleased(MouseEvent e);
+ public void mouseMoved(MouseEvent e);
+ public void mouseDragged(MouseEvent e);
+ public void mouseWheelMoved(MouseEvent e);
+}
+
diff --git a/src/newt/classes/com/jogamp/newt/event/PaintEvent.java b/src/newt/classes/com/jogamp/newt/event/PaintEvent.java
new file mode 100755
index 000000000..469358625
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/PaintEvent.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ *
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+/**
+ *
+ * @author tdv
+ */
+public class PaintEvent extends Event {
+
+    // bounds of the damage region
+    private int x, y, width, height;
+    public PaintEvent(int eventType, Object source,
+                       long when, int x, int y, int w, int h)
+    {
+        super(eventType, source, when);
+        this.x = x;
+        this.y = y;
+        this.width = w;
+        this.height = h;
+    }
+
+    public int getHeight() {
+        return height;
+    }
+
+    public int getWidth() {
+        return width;
+    }
+
+    public int getX() {
+        return x;
+    }
+
+    public int getY() {
+        return y;
+    }
+
+    public String toString() {
+        return "ExposeEvent[modifiers: x="+x+" y="+y+" w="+width+" h="+height +"]";
+    }
+
+}
diff --git a/src/newt/classes/com/jogamp/newt/event/PaintListener.java b/src/newt/classes/com/jogamp/newt/event/PaintListener.java
new file mode 100755
index 000000000..f64ae0069
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/PaintListener.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ *
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+/**
+ *
+ * @author tdv
+ */
+public interface PaintListener {
+    public void exposed(PaintEvent e);
+}
diff --git a/src/newt/classes/com/jogamp/newt/event/WindowEvent.java b/src/newt/classes/com/jogamp/newt/event/WindowEvent.java
new file mode 100644
index 000000000..8204bfc79
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/WindowEvent.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public class WindowEvent extends Event {
+    public static final int EVENT_WINDOW_RESIZED = 100;
+    public static final int EVENT_WINDOW_MOVED   = 101; 
+    public static final int EVENT_WINDOW_DESTROY_NOTIFY = 102;
+    public static final int EVENT_WINDOW_GAINED_FOCUS = 103;
+    public static final int EVENT_WINDOW_LOST_FOCUS = 104;
+    // public static final int EVENT_WINDOW_REPAINT = 105; // TODO
+
+    public WindowEvent(int eventType, Object source, long when) {
+        super(eventType, source, when);
+    }
+
+    public static String getEventTypeString(int type) {
+        switch(type) {
+            case EVENT_WINDOW_RESIZED: return "WINDOW_RESIZED";
+            case EVENT_WINDOW_MOVED:   return "WINDOW_MOVED";
+            case EVENT_WINDOW_DESTROY_NOTIFY:   return "EVENT_WINDOW_DESTROY_NOTIFY";
+            case EVENT_WINDOW_GAINED_FOCUS:   return "EVENT_WINDOW_GAINED_FOCUS";
+            case EVENT_WINDOW_LOST_FOCUS:   return "EVENT_WINDOW_LOST_FOCUS";
+            // case EVENT_WINDOW_REPAINT:   return "EVENT_WINDOW_REPAINT";
+            default: return "unknown (" + type + ")";
+        }
+    }
+    public String toString() {
+        return "WindowEvent["+getEventTypeString(getEventType()) +
+            ", " + super.toString() + "]";
+    }
+}
diff --git a/src/newt/classes/com/jogamp/newt/event/WindowListener.java b/src/newt/classes/com/jogamp/newt/event/WindowListener.java
new file mode 100644
index 000000000..8c7601a8d
--- /dev/null
+++ b/src/newt/classes/com/jogamp/newt/event/WindowListener.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 
+ * - Redistribution of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * 
+ * - Redistribution in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * 
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * 
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ * 
+ */
+
+package com.jogamp.newt.event;
+
+import com.jogamp.newt.*;
+
+public interface WindowListener extends EventListener {
+    public void windowResized(WindowEvent e);
+    public void windowMoved(WindowEvent e);
+    public void windowDestroyNotify(WindowEvent e);
+    public void windowGainedFocus(WindowEvent e);
+    public void windowLostFocus(WindowEvent e);
+}
-- 
cgit v1.2.3