Acorus project overview

Acorus is a simple user-interface library for JMonkeyEngine desktop applications that don’t need graphical widgets (such as checkboxes, radio buttons, scrollbars, and sliders).

Oriented toward keyboard-driven demos and test applications, Acorus provides simple mechanisms to:

  1. bind hotkeys (keyboard keys, mouse buttons, and joystick buttons) to actions (names meaningful to the user and the application)

  2. determine which hotkeys are active (using signals)

  3. bind input combinations such as Ctrl+c (using combos)

  4. map different bindings in specific contexts (using input modes)

  5. display on-screen help/hints for the active input mode (using help nodes)

Properly used, help nodes make a user-interface self-documenting.

Acorus also provides:

  • 2 implementations of the Application interface (ActionApplication and AcorusDemo)

  • an input mode for emulating a SimpleApplication (DefaultInputMode)

  • a camera controller for orbiting the world’s Y axis (CameraOrbitAppState)

  • a display-settings editor (DsEditInputMode plus DsEditOverlay)

  • a class to manage asset locators (for apps that edit assets)

All software in the Acorus project is free and open-source, including the library itself, the example apps, and the software used to build, test, and run them.

Caveats

In order to use the latest Acorus release, you’ll need version 3.6.1 JMonkeyEngine libraries.

Like JMonkeyEngine, Acorus and its documentation assume a certain level of proficiency with the Java programming language. This project isn’t aimed at non-programmers, nor developers without prior Java experience.

The project’s BSD-style license disclaims liability for defects. Please don’t use this software in safety-critical applications.

Getting help

For self-help, make use of the tutorial pages, the javadoc, and the source code.

The JMonkeyEngine Forum/Hub is a good place to ask technical questions.

For issues that are best handled privately, contact me by e-mail. My personal e-mail address appears on my homepage and in the source code.

The name

The project’s name is an acronym for "ACtion-ORiented USer interface." It’s also the scientific name of the botanical genus that includes Sweet Flag.

The preferred English pronunciation is roughly "ACK-o-russ".

Summary

  • Java programmers are the target audience of this website.

  • Acorus is a user-interface library.

  • Acorus binds hotkeys to actions.

  • Bindings are grouped together to create input modes.

  • Acorus generates help nodes automatically, so you can easily implement a self-documenting user interface.

  • Live tech support is available.

Next steps

To gain hands-on experience, proceed to the first tutorial page.