diff --git a/LICENSE.txt b/LICENSE.txt
index 41b45bb9..7b5de592 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -8,8 +8,8 @@ is not limited to):
core/base64.js
core/des.js
core/display.js
- core/input.js
- core/keysym.js
+ core/input/devices.js
+ core/input/keysym.js
core/logo.js
core/playback.js
core/rfb.js
@@ -17,7 +17,7 @@ is not limited to):
core/util.js
core/websock.js
app/webutil.js
- core/xtscancodes.js
+ core/input/xtscancodes.js
The HTML, CSS, font and images files that included with the noVNC
source distibution (or repository) are not considered part of the
diff --git a/app/ui.js b/app/ui.js
index cb0cc9e9..78d397d7 100644
--- a/app/ui.js
+++ b/app/ui.js
@@ -12,7 +12,7 @@
/* [module]
* import Util from "../core/util";
- * import KeyTable from "../core/keysym";
+ * import KeyTable from "../core/input/keysym";
* import RFB from "../core/rfb";
* import Display from "../core/display";
* import WebUtil from "./webutil";
@@ -26,9 +26,9 @@ var UI;
/* [begin skip-as-module] */
// Load supporting scripts
WebUtil.load_scripts(
- {'core': ["base64.js", "websock.js", "des.js", "keysymdef.js",
- "xtscancodes.js", "keyboard.js", "input.js", "display.js",
- "inflator.js", "rfb.js", "keysym.js"]});
+ {'core': ["base64.js", "websock.js", "des.js", "input/keysymdef.js",
+ "input/xtscancodes.js", "input/util.js", "input/devices.js",
+ "display.js", "inflator.js", "rfb.js", "input/keysym.js"]});
window.onscriptsload = function () { UI.load(); };
/* [end skip-as-module] */
diff --git a/core/input.js b/core/input/devices.js
similarity index 99%
rename from core/input.js
rename to core/input/devices.js
index e1fff1c0..d283fc4e 100644
--- a/core/input.js
+++ b/core/input/devices.js
@@ -9,8 +9,8 @@
/*global window, Util */
/* [module]
- * import Util from "./util";
- * import KeyboardUtil from "./keyboard";
+ * import Util from "../util";
+ * import KeyboardUtil from "./util";
*/
/* [module] export */ var Keyboard;
diff --git a/core/keysym.js b/core/input/keysym.js
similarity index 100%
rename from core/keysym.js
rename to core/input/keysym.js
diff --git a/core/keysymdef.js b/core/input/keysymdef.js
similarity index 100%
rename from core/keysymdef.js
rename to core/input/keysymdef.js
diff --git a/core/keyboard.js b/core/input/util.js
similarity index 100%
rename from core/keyboard.js
rename to core/input/util.js
diff --git a/core/xtscancodes.js b/core/input/xtscancodes.js
similarity index 100%
rename from core/xtscancodes.js
rename to core/input/xtscancodes.js
diff --git a/core/rfb.js b/core/rfb.js
index 0ae96bd4..135d3a75 100644
--- a/core/rfb.js
+++ b/core/rfb.js
@@ -13,12 +13,12 @@
/* [module]
* import Util from "./util";
* import Display from "./display";
- * import { Keyboard, Mouse } from "./input"
+ * import { Keyboard, Mouse } from "./input/devices"
* import Websock from "./websock"
* import Base64 from "./base64";
* import DES from "./des";
- * import KeyTable from "./keysym";
- * import XtScancode from "./xtscancodes";
+ * import KeyTable from "./input/keysym";
+ * import XtScancode from "./input/xtscancodes";
* import Inflator from "./inflator.mod";
*/
/*jslint white: false, browser: true */
diff --git a/karma.conf.js b/karma.conf.js
index f14dc429..5f3c20b9 100644
--- a/karma.conf.js
+++ b/karma.conf.js
@@ -113,11 +113,11 @@ module.exports = function(config) {
'core/util.js', // load first to avoid issues, since methods are called immediately
//'../core/*.js',
'core/base64.js',
- 'core/keysym.js',
- 'core/keysymdef.js',
- 'core/xtscancodes.js',
- 'core/keyboard.js',
- 'core/input.js',
+ 'core/input/keysym.js',
+ 'core/input/keysymdef.js',
+ 'core/input/xtscancodes.js',
+ 'core/input/util.js',
+ 'core/input/devices.js',
'core/websock.js',
'core/rfb.js',
'core/des.js',
diff --git a/tests/input.html b/tests/input.html
index a513645c..a261924b 100644
--- a/tests/input.html
+++ b/tests/input.html
@@ -26,11 +26,11 @@
-
-
-
-
-
+
+
+
+
+