Browse Source

Merge remote-tracking branch 'alteredq/dev' into dev

Mr.doob 12 years ago
parent
commit
8c7d7e71b2
2 changed files with 27 additions and 14 deletions
  1. 5 14
      editor/index.html
  2. 22 0
      editor/js/ui/Viewport.js

+ 5 - 14
editor/index.html

@@ -88,6 +88,11 @@
 			viewport.setHeight( '-webkit-calc(100% - 32px)', '-moz-calc(100% - 32px)', 'calc(100% - 32px)' );
 			viewport.setHeight( '-webkit-calc(100% - 32px)', '-moz-calc(100% - 32px)', 'calc(100% - 32px)' );
 			document.body.appendChild( viewport.dom );
 			document.body.appendChild( viewport.dom );
 
 
+			// set focus on Viewport to get hotkeys working
+			// right from the initial page load
+
+			viewport.dom.focus();
+
 			var menubar = new Menubar( signals );
 			var menubar = new Menubar( signals );
 			menubar.setWidth( '100%' );
 			menubar.setWidth( '100%' );
 			menubar.setHeight( '32px' );
 			menubar.setHeight( '32px' );
@@ -99,20 +104,6 @@
 			sidebar.setHeight( '-webkit-calc(100% - 32px)', '-moz-calc(100% - 32px)', 'calc(100% - 32px)' );
 			sidebar.setHeight( '-webkit-calc(100% - 32px)', '-moz-calc(100% - 32px)', 'calc(100% - 32px)' );
 			document.body.appendChild( sidebar.dom );
 			document.body.appendChild( sidebar.dom );
 
 
-			document.addEventListener( 'keydown', function ( event ) {
-
-				switch ( event.keyCode ) {
-
-					case 46: // delete
-
-						signals.removeSelectedObject.dispatch();
-
-						break;
-
-				}
-
-			} );
-
 			document.addEventListener( 'drop', function ( event ) {
 			document.addEventListener( 'drop', function ( event ) {
 
 
 				event.preventDefault();
 				event.preventDefault();

+ 22 - 0
editor/js/ui/Viewport.js

@@ -96,6 +96,8 @@ var Viewport = function ( signals ) {
 
 
 	var onMouseDown = function ( event ) {
 	var onMouseDown = function ( event ) {
 
 
+		container.dom.focus();
+
 		event.preventDefault();
 		event.preventDefault();
 
 
 		if ( event.button === 0 ) {
 		if ( event.button === 0 ) {
@@ -208,6 +210,20 @@ var Viewport = function ( signals ) {
 
 
 	};
 	};
 
 
+	var onKeyDown = function ( event ) {
+
+		switch ( event.keyCode ) {
+
+			case 46: // delete
+
+				signals.removeSelectedObject.dispatch();
+
+				break;
+
+		}
+
+	};
+
 	container.dom.addEventListener( 'mousedown', onMouseDown, false );
 	container.dom.addEventListener( 'mousedown', onMouseDown, false );
 	container.dom.addEventListener( 'click', onClick, false );
 	container.dom.addEventListener( 'click', onClick, false );
 
 
@@ -482,6 +498,12 @@ var Viewport = function ( signals ) {
 
 
 	animate();
 	animate();
 
 
+	// set up for hotkeys
+	// must be done here, otherwise it doesn't work
+
+	container.dom.tabIndex = 1;
+	container.dom.addEventListener( 'keydown', onKeyDown, false );
+
 	//
 	//
 
 
 	function updateMaterials( root ) {
 	function updateMaterials( root ) {