heres a little patch for MouseLook that allows user to set the mouse press button.
### Eclipse Workspace Patch 1.0
#P jME1.0
Index: src/com/jme/input/MouseLookHandler.java
===================================================================
RCS file: /cvs/jme/src/com/jme/input/MouseLookHandler.java,v
retrieving revision 1.6
diff -u -r1.6 MouseLookHandler.java
--- src/com/jme/input/MouseLookHandler.java 2 Aug 2007 21:49:26 -0000 1.6
+++ src/com/jme/input/MouseLookHandler.java 18 Jun 2008 20:16:13 -0000
@@ -56,6 +56,10 @@
mouseLook.setButtonPressRequired(value);
}
+ public boolean setRequiredButton(int button) {
+ return this.mouseLook.setRequiredButton(button);
+ }
+
public void setLockAxis(Vector3f lock) {
mouseLook.setLockAxis(new Vector3f(lock));
}
Index: src/com/jme/input/FirstPersonHandler.java
===================================================================
RCS file: /cvs/jme/src/com/jme/input/FirstPersonHandler.java,v
retrieving revision 1.17
diff -u -r1.17 FirstPersonHandler.java
--- src/com/jme/input/FirstPersonHandler.java 26 Aug 2007 08:44:20 -0000 1.17
+++ src/com/jme/input/FirstPersonHandler.java 18 Jun 2008 20:16:13 -0000
@@ -65,6 +65,10 @@
public void setButtonPressRequired(boolean value) {
mouseLookHandler.requireButtonPress(value);
}
+
+ public boolean setRequiredButton(int button) {
+ return this.mouseLookHandler.setRequiredButton(button);
+ }
/**
* Creates a first person handler.
Index: src/com/jme/input/action/MouseLook.java
===================================================================
RCS file: /cvs/jme/src/com/jme/input/action/MouseLook.java,v
retrieving revision 1.18
diff -u -r1.18 MouseLook.java
--- src/com/jme/input/action/MouseLook.java 2 Aug 2007 21:38:55 -0000 1.18
+++ src/com/jme/input/action/MouseLook.java 18 Jun 2008 20:16:13 -0000
@@ -60,6 +60,8 @@
private InputActionEvent event;
private boolean buttonPressRequired = false;
+
+ private int mousebutton;
/**
* Constructor creates a new <code>MouseLook</code> object. It takes the
@@ -134,7 +136,7 @@
public void performAction(InputActionEvent evt) {
float time = 0.01f * speed;
- if(!buttonPressRequired || MouseInput.get().isButtonDown(0)) {
+ if(!buttonPressRequired || MouseInput.get().isButtonDown(this.mousebutton)) {
if (mouse.getLocalTranslation().x > 0) {
event.setTime(time * mouse.getLocalTranslation().x);
rotateRight.performAction(event);
@@ -160,4 +162,10 @@
public void setButtonPressRequired(boolean buttonPressRequired) {
this.buttonPressRequired = buttonPressRequired;
}
+
+ public boolean setRequiredButton(int button) {
+ if(button < 0 || button >= MouseInput.get().getButtonCount()) return false;
+ this.mousebutton = button;
+ return true;
+ }
}
No newline at end of file