cue Superman theme
It's a key binding!
It's a mouse binding!
It's a keyboard and mouse binding!!!
[hold for laughter]
That about sums it up… just another implementation of the binding interface to support a different kind of control like Shift+click or something fancier
/*
* COPYRIGHT GOES HERE
*/
package com.jme.input.controls.binding;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import com.jme.input.KeyInput;
import com.jme.input.MouseInput;
import com.jme.input.controls.Binding;
/**
* <code>KeyAndMouseButtonBinding</code> is akin to merging
* <code>KeyboardBinding</code> with <code>MouseButtonMinding</code>,
* allowing for a KeyboardButton + Mouse Button (i.e: "CTRL+Click")
* @author <a href="mailto:skye.book@gmail.com">Skye Book
*/
public class KeyAndMouseButtonBinding implements Binding {
private static final long serialVersionUID = 1L;
private int button;
private int key;
public KeyAndMouseButtonBinding(int key, int button) {
this.button = button;
this.key = key;
}
public String getName() {
return "Mouse Button: " + Mouse.getButtonName(button) + "; Key: " + Keyboard.getKeyName(key);
}
public float getValue() {
return (MouseInput.get().isButtonDown(button) && KeyInput.get().isKeyDown(key)) ? 1.0f : 0.0f;
}
public String toString() {
return getName();
}
}