|
|
|
|
@@ -20,32 +20,38 @@ import wiiusej.wiiuseapievents.EventsGatherer;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Singleton used to manipulate WiiUse Api.
|
|
|
|
|
*
|
|
|
|
|
* @author guiguito
|
|
|
|
|
*/
|
|
|
|
|
public class WiiUseApi {
|
|
|
|
|
|
|
|
|
|
static {
|
|
|
|
|
System.loadLibrary("libWiiuseJ");
|
|
|
|
|
System.loadLibrary("WiiuseJ");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static WiiUseApi instance = new WiiUseApi();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the only instance of WiiUseApi.
|
|
|
|
|
*
|
|
|
|
|
* @return the only instace of WiiUseApi.
|
|
|
|
|
*/
|
|
|
|
|
static WiiUseApi getInstance(){
|
|
|
|
|
static WiiUseApi getInstance() {
|
|
|
|
|
return instance;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Try to connect to 2 wiimotes. Make them rumble to show they are
|
|
|
|
|
* connected.
|
|
|
|
|
* @param nb number of wiimotes to connect
|
|
|
|
|
*
|
|
|
|
|
* @param nb
|
|
|
|
|
* number of wiimotes to connect
|
|
|
|
|
* @param rumble
|
|
|
|
|
* make the connected wiimotes rumble
|
|
|
|
|
* @return 0 if there is an error otherwise it returns the number of
|
|
|
|
|
* wiimotes connected.
|
|
|
|
|
*/
|
|
|
|
|
native int doConnections(int nb);
|
|
|
|
|
native int doConnections(int nb, boolean rumble);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Close connection to the wiimote with the given id.
|
|
|
|
|
@@ -60,152 +66,200 @@ public class WiiUseApi {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Activate rumble on the wiimote with the given id.
|
|
|
|
|
* @param id the id of the wiimote.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote.
|
|
|
|
|
*/
|
|
|
|
|
native void activateRumble(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Deactivate rumble on the wiimote with the given id.
|
|
|
|
|
*
|
|
|
|
|
* @param id the id of the wiimote.
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote.
|
|
|
|
|
*/
|
|
|
|
|
native void deactivateRumble(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Activate IR Tracking on the wiimote with the given id.
|
|
|
|
|
* @param id the id of the wiimote.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote.
|
|
|
|
|
*/
|
|
|
|
|
native void activateIRTracking(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Deactivate IR Tracking on the wiimote with the given id.
|
|
|
|
|
* @param id the id of the wiimote.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote.
|
|
|
|
|
*/
|
|
|
|
|
native void deactivateIRTracking(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Activate motion sensing on the wiimote with the given id.
|
|
|
|
|
* @param id the id of the wiimote.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote.
|
|
|
|
|
*/
|
|
|
|
|
native void activateMotionSensing(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Deactivate motion sensing on the wiimote with the given id.
|
|
|
|
|
* @param id the id of the wiimote.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote.
|
|
|
|
|
*/
|
|
|
|
|
native void deactivateMotionSensing(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set wiimote leds status.
|
|
|
|
|
* @param id the id of the wiimote concerned
|
|
|
|
|
* @param led1 status of led1: True=ON, False=OFF
|
|
|
|
|
* @param led2 status of led2: True=ON, False=OFF
|
|
|
|
|
* @param led3 status of led3: True=ON, False=OFF
|
|
|
|
|
* @param led4 status of led4: True=ON, False=OFF
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote concerned
|
|
|
|
|
* @param led1
|
|
|
|
|
* status of led1: True=ON, False=OFF
|
|
|
|
|
* @param led2
|
|
|
|
|
* status of led2: True=ON, False=OFF
|
|
|
|
|
* @param led3
|
|
|
|
|
* status of led3: True=ON, False=OFF
|
|
|
|
|
* @param led4
|
|
|
|
|
* status of led4: True=ON, False=OFF
|
|
|
|
|
*/
|
|
|
|
|
native void setLeds(int id, boolean led1, boolean led2, boolean led3, boolean led4);
|
|
|
|
|
native void setLeds(int id, boolean led1, boolean led2, boolean led3,
|
|
|
|
|
boolean led4);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set how many degrees an angle must change to generate an event.
|
|
|
|
|
* @param id id of the wiimote concerned
|
|
|
|
|
* @param angle minimum angle detected by an event
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* id of the wiimote concerned
|
|
|
|
|
* @param angle
|
|
|
|
|
* minimum angle detected by an event
|
|
|
|
|
*/
|
|
|
|
|
native void setOrientThreshold(int id, float angle);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set how much acceleration must change to generate an event.
|
|
|
|
|
* @param id id of the wiimote concerned
|
|
|
|
|
* @param value minimum value detected by an event
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* id of the wiimote concerned
|
|
|
|
|
* @param value
|
|
|
|
|
* minimum value detected by an event
|
|
|
|
|
*/
|
|
|
|
|
native void setAccelThreshold(int id, int value);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set alpha smoothing parameter for the given id.
|
|
|
|
|
* @param id id of the wiimote concerned
|
|
|
|
|
* @param value alpha smoothing value
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* id of the wiimote concerned
|
|
|
|
|
* @param value
|
|
|
|
|
* alpha smoothing value
|
|
|
|
|
*/
|
|
|
|
|
native void setAlphaSmoothing(int id, float value);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Try to resync with the wiimote by starting a new handshake.
|
|
|
|
|
* @param id id of the wiimote concerned
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* id of the wiimote concerned
|
|
|
|
|
*/
|
|
|
|
|
native void reSync(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Make the the accelerometers give smoother results.
|
|
|
|
|
* This is set by default.
|
|
|
|
|
* @param id the id of the wiimote concerned
|
|
|
|
|
* Make the the accelerometers give smoother results. This is set by
|
|
|
|
|
* default.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote concerned
|
|
|
|
|
*/
|
|
|
|
|
native void activateSmoothing(int id);
|
|
|
|
|
native void activateSmoothing(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
/**
|
|
|
|
|
* Make the the accelerometers give raw results.
|
|
|
|
|
* @param id the id of the wiimote concerned
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote concerned
|
|
|
|
|
*/
|
|
|
|
|
native void deactivateSmoothing(int id);
|
|
|
|
|
native void deactivateSmoothing(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Make the wiimote generate an event each time we poll.
|
|
|
|
|
* Not set by default.
|
|
|
|
|
* @param id the id of the wiimote concerned
|
|
|
|
|
*/
|
|
|
|
|
native void activateContinuous(int id);
|
|
|
|
|
/**
|
|
|
|
|
* Make the wiimote generate an event each time we poll. Not set by default.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote concerned
|
|
|
|
|
*/
|
|
|
|
|
native void activateContinuous(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Make the wiimote generate an event only when there is one.
|
|
|
|
|
* @param id the id of the wiimote concerned
|
|
|
|
|
*/
|
|
|
|
|
native void deactivateContinuous(int id);
|
|
|
|
|
/**
|
|
|
|
|
* Make the wiimote generate an event only when there is one.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote concerned
|
|
|
|
|
*/
|
|
|
|
|
native void deactivateContinuous(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that your screen has an aspect ratio of 4/3.
|
|
|
|
|
* @param id the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setScreenRatio43(int id);
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that your screen has an aspect ratio of 4/3.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setScreenRatio43(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that your screen has an aspect ratio of 16/9.
|
|
|
|
|
* @param id the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setScreenRatio169(int id);
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that your screen has an aspect ratio of 16/9.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setScreenRatio169(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that the sensor bar is above your screen.
|
|
|
|
|
* @param id the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setSensorBarAboveScreen(int id);
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that the sensor bar is above your screen.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setSensorBarAboveScreen(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that the sensor bar is below your screen.
|
|
|
|
|
* @param id the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setSensorBarBelowScreen(int id);
|
|
|
|
|
/**
|
|
|
|
|
* Notify wiiuse that the sensor bar is below your screen.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void setSensorBarBelowScreen(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set virtual screen resolution. It is used to automatically
|
|
|
|
|
* compute the position of a cursor on this virtual screen
|
|
|
|
|
* using the sensor bar. These results come in the IREvent.
|
|
|
|
|
* @param id the id of the wiimote of which we want the status.
|
|
|
|
|
* @param x x resolution.
|
|
|
|
|
* @param y y resolution.
|
|
|
|
|
*/
|
|
|
|
|
native void setVirtualScreenResolution(int id, int x, int y);
|
|
|
|
|
/**
|
|
|
|
|
* Set virtual screen resolution. It is used to automatically compute the
|
|
|
|
|
* position of a cursor on this virtual screen using the sensor bar. These
|
|
|
|
|
* results come in the IREvent.
|
|
|
|
|
*
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote of which we want the status.
|
|
|
|
|
* @param x
|
|
|
|
|
* x resolution.
|
|
|
|
|
* @param y
|
|
|
|
|
* y resolution.
|
|
|
|
|
*/
|
|
|
|
|
native void setVirtualScreenResolution(int id, int x, int y);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get status and values from the wiimotes and send it through callbacks.
|
|
|
|
|
*
|
|
|
|
|
* @param id the id of the wiimote of which we want the status.
|
|
|
|
|
* @param id
|
|
|
|
|
* the id of the wiimote of which we want the status.
|
|
|
|
|
*/
|
|
|
|
|
native void getStatus(int id);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Check for new Events and Get it.
|
|
|
|
|
*
|
|
|
|
|
* @param gath the object where we store all the new events.
|
|
|
|
|
* @param gath
|
|
|
|
|
* the object where we store all the new events.
|
|
|
|
|
*/
|
|
|
|
|
native void specialPoll(EventsGatherer gath);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|