diff Platforms/Wasm/wasm-viewport.ts @ 327:8716176ff7f0 am-2

added support for arrow keys
author am@osimis.io
date Tue, 16 Oct 2018 15:25:21 +0200
parents 97f16214dc5e
children 8bf717c4e497
line wrap: on
line diff
--- a/Platforms/Wasm/wasm-viewport.ts	Tue Oct 16 12:57:38 2018 +0200
+++ b/Platforms/Wasm/wasm-viewport.ts	Tue Oct 16 15:25:21 2018 +0200
@@ -80,7 +80,7 @@
       this.ViewportMouseEnter = this.module_.cwrap('ViewportMouseEnter', null, [ 'number' ]);
       this.ViewportMouseLeave = this.module_.cwrap('ViewportMouseLeave', null, [ 'number' ]);
       this.ViewportMouseWheel = this.module_.cwrap('ViewportMouseWheel', null, [ 'number', 'number', 'number', 'number', 'number' ]);
-      this.ViewportKeyPressed = this.module_.cwrap('ViewportKeyPressed', null, [ 'number', 'string', 'number', 'number' ]);
+      this.ViewportKeyPressed = this.module_.cwrap('ViewportKeyPressed', null, [ 'number', 'number', 'string', 'number', 'number' ]);
     }
 
     public GetCppViewport() : number {
@@ -204,7 +204,15 @@
       });
     
       window.addEventListener('keydown', function(event) {
-        that.ViewportKeyPressed(that.pimpl_, event.key, event.shiftKey, event.ctrlKey, event.altKey);
+        var keyChar = event.key;
+        var keyCode = event.keyCode
+        if (keyChar.length == 1) {
+          keyCode = 0; // maps to OrthancStone::KeyboardKeys_Generic
+        } else {
+          keyChar = null;
+        }
+//        console.log("key: ", keyCode, keyChar);
+        that.ViewportKeyPressed(that.pimpl_, keyCode, keyChar, event.shiftKey, event.ctrlKey, event.altKey);
       });
     
       this.htmlCanvas_.addEventListener('wheel', function(event) {