The jFreespace package enables Java applications to easily communicate with FreespaceŽ devices. jFreespace provides the Java native interface (JNI) to the open-source libfreespace library. jFreespace enables rapid development of applications for Hillcrest Labs FreespaceŽ devices and provides access to extended information beyond mouse, keyboard and consumer page functionality. This includes:
A basic application using the jFreespace library discovers available devices
by querying the Discovery
singleton instance using
Discovery.getInstance().getDevices
.
If desired, the application can
register using the DiscoverListenerInterface
to receive notifications
when devices are inserted into the system or
removed from the system. The application can use a DeviceFilter
to further determine qualified devices. Once the application finds a desired
device, it can open the device for sending data and receiving data using the
DeviceListenerInterface
. For a working example application, see the
source code for
jFreespace
.
The jFreespace library runs on its own thread. All calls to the jFreespace
library are thread safe, and the jFreespace library handles all synchronization
to its thread. The callbacks from
Discovery
to DiscoveryListenerInterface
and the
callbacks from Device
to DeviceListenerInterface
are
all on the jFreespace thread. Applications can optionally perform
resynchronization to their threads as desired.
jFreespace is distributed under the LGPL 2.1 license. For the full list of terms and conditions, refer to the "COPYING" file in the top-level jFreespace directory.