package de.lessvoid.nifty.controls.dropdown;
import de.lessvoid.nifty.input.NiftyInputMapping;
import de.lessvoid.nifty.input.NiftyStandardInputEvent;
import de.lessvoid.nifty.input.keyboard.KeyboardInputEvent;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
* StandardDropDown Keyboard Mapping for Nifty.
*
* @author void
*/
public class DropDownControlInputMapping implements NiftyInputMapping {
@Nullable
@Override
public NiftyStandardInputEvent convert(@Nonnull final KeyboardInputEvent inputEvent) {
if (inputEvent.isKeyDown()) {
if (inputEvent.getKey() == KeyboardInputEvent.KEY_DOWN) {
return NiftyStandardInputEvent.MoveCursorDown;
} else if (inputEvent.getKey() == KeyboardInputEvent.KEY_UP) {
return NiftyStandardInputEvent.MoveCursorUp;
} else if (inputEvent.getKey() == KeyboardInputEvent.KEY_RETURN) {
return NiftyStandardInputEvent.Activate;
} else if (inputEvent.getKey() == KeyboardInputEvent.KEY_SPACE) {
return NiftyStandardInputEvent.Activate;
} else if (inputEvent.getKey() == KeyboardInputEvent.KEY_TAB) {
if (inputEvent.isShiftDown()) {
return NiftyStandardInputEvent.PrevInputElement;
} else {
return NiftyStandardInputEvent.NextInputElement;
}
}
}
return null;
}
}