Keyboard

From LagoonWiki

Jump to: navigation, search

In /code/scripts/common/quickcommands.py:

Find:

nEventServer.register('key_pressed_0', SelGroup0)
nEventServer.register('key_pressed_1', SelGroup1)
nEventServer.register('key_pressed_2', SelGroup2)
nEventServer.register('key_pressed_3', SelGroup3)
nEventServer.register('key_pressed_4', SelGroup4)
nEventServer.register('key_pressed_5', SelGroup5)
nEventServer.register('key_pressed_6', SelGroup6)
nEventServer.register('key_pressed_7', SelGroup7)
nEventServer.register('key_pressed_8', SelGroup8)
nEventServer.register('key_pressed_9', SelGroup9)

Just after it, paste the following code:

# Camera movement code still in /src/aspect/ncameracontroller_main.cc :line 210
#/-----------------------------------------------------------------------------//
def moveShipSpeed(msg):
   objs = call('/ui/planner.getobjectsselected')
   ships = objs.split(' ')
   
   for i in range(0, len(ships)):
   	pushsel	(ships[i])
   	vel = gf ('desiredSpeed')
   	maxvel = gf ('maxSpeed')
   	vel += maxvel/10.0
   	if (vel >= maxvel):
   	    	vel = maxvel
   	sf ('desiredSpeed', vel)
   	popsel	() 
#/-----------------------------------------------------------------------------//
nEventServer.register("key_pressed_num8",  moveShipSpeed )
#/-----------------------------------------------------------------------------/
def moveShipSlow(msg):
   objs = call('/ui/planner.getobjectsselected')
   ships = objs.split(' ') 
   
   for i in range(0, len(ships)):
   	pushsel	(ships[i])
   	vel = gf ('desiredSpeed')
   	maxvel = gf ('maxSpeed')
   	vel -= maxvel/10.0
   	if (vel <= 0.0):
   	    	vel = 0.0
   	sf ('desiredSpeed', vel)
   	popsel	() 
#/-----------------------------------------------------------------------------//
nEventServer.register("key_pressed_num2",  moveShipSlow )
#/-----------------------------------------------------------------------------/
def moveShipLeft(msg):
   objs = call('/ui/planner.getobjectsselected')
   ships = objs.split(' ') 
   
   for i in range(0, len(ships)):
   	pushsel	(ships[i])
   	heading = gf ('desiredHeading')	# in radians
   	headingDeg = math.degrees(heading)
   	headingDeg += 10.0
   	if (headingDeg >= 360.0):
   	    	headingDeg -= 360.0
   	heading = math.radians(headingDeg)
   	sf ('desiredHeading', heading)
   	popsel	() 
#/-----------------------------------------------------------------------------//
nEventServer.register("key_pressed_num4",  moveShipLeft )
#/-----------------------------------------------------------------------------/
def moveShipRight(msg):
   objs = call('/ui/planner.getobjectsselected')
   ships = objs.split(' ') 
   
   for i in range(0, len(ships)):
   	pushsel	(ships[i])
   	heading = gf ('desiredHeading')	# in radians
   	headingDeg = math.degrees(heading)
   	headingDeg -= 10.0
   	if (headingDeg <= 0.0):
   	    	headingDeg += 360.0
   	heading = math.radians(headingDeg)
   	sf ('desiredHeading', heading)
   	popsel	()
#/-----------------------------------------------------------------------------//
nEventServer.register("key_pressed_num6",  moveShipRight )
#/-----------------------------------------------------------------------------/



In /code/src/gfx/ngl_xdisp.cc:

Find:

case XK_KP_Home:	nk=N_KEY_HOME; break;
case XK_KP_Left:	nk=N_KEY_LEFT; break;
case XK_KP_Up:		nk=N_KEY_UP; break;
case XK_KP_Right:	nk=N_KEY_RIGHT; break;
case XK_KP_Down:	nk=N_KEY_DOWN; break;
case XK_KP_End:		nk=N_KEY_END; break;
case XK_KP_Begin:	nk=N_KEY_BEGIN; break;
case XK_KP_Insert:	nk=N_KEY_INSERT; break;
case XK_KP_Delete:	nk=N_KEY_DELETE; break;
case XK_KP_Page_Up:     nk=N_KEY_PRIOR; break;
case XK_KP_Page_Down:   nk=N_KEY_NEXT; break;

Replace the entire code block above with:

case XK_KP_Home:	/*nk=N_KEY_N*/      nk=N_KEY_NUMPAD7; break;
case XK_KP_Left:	/*nk=N_KEY_LEFT;*/  nk=N_KEY_NUMPAD4; break;
case XK_KP_Up:		/*nk=N_KEY_UP;*/    nk=N_KEY_NUMPAD8; break;
case XK_KP_Right:	/*nk=N_KEY_RIGHT;*/ nk=N_KEY_NUMPAD6; break;
case XK_KP_Down:	/*nk=N_KEY_DOWN;*/  nk=N_KEY_NUMPAD2; break;
case XK_KP_End:		/*nk=N_KEY_END;*/   nk=N_KEY_NUMPAD1; break;
case XK_KP_Begin:	nk=N_KEY_BEGIN; break;
case XK_KP_Insert:	/*nk=N_KEY_INSERT;*/nk=N_KEY_NUMPAD0; break;
case XK_KP_Delete:	nk=N_KEY_DELETE; break; 
case XK_KP_Page_Up:     /*nk=N_KEY_PRIOR;*/ nk=N_KEY_NUMPAD9; break;
case XK_KP_Page_Down:   /*nk=N_KEY_NEXT;*/  nk=N_KEY_NUMPAD3; break;
Personal tools