 |
Crossfire JXClient, Trunk
|
Go to the documentation of this file.
23 package com.realtime.crossfire.jxclient.window;
31 import java.awt.event.KeyEvent;
32 import java.io.IOException;
33 import java.io.Writer;
34 import java.time.LocalDateTime;
35 import java.time.format.DateTimeFormatter;
36 import java.util.Locale;
37 import org.jetbrains.annotations.NotNull;
38 import org.jetbrains.annotations.Nullable;
82 private static final DateTimeFormatter
FORMATTER = DateTimeFormatter.ofPattern(
"yyyy-MM-dd HH:mm:ss,SSS ", Locale.ENGLISH);
120 switch (e.getKeyCode()) {
121 case KeyEvent.VK_ALT:
122 case KeyEvent.VK_ALT_GRAPH:
123 case KeyEvent.VK_SHIFT:
124 case KeyEvent.VK_CONTROL:
129 if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
142 if (dialog.handleKeyPress(e)) {
146 if (dialog.isModal()) {
165 switch (e.getKeyCode()) {
233 switch (e.getKeyCode()) {
234 case KeyEvent.VK_ALT:
235 case KeyEvent.VK_ALT_GRAPH:
236 case KeyEvent.VK_SHIFT:
237 case KeyEvent.VK_CONTROL:
242 if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
261 final KeyEvent2 keyEvent =
new KeyEvent2(e.getKeyCode(), e.getKeyChar(), e.getModifiersEx());
275 final KeyEvent2 keyEvent =
new KeyEvent2(e.getKeyCode(), e.getKeyChar(), e.getModifiersEx());
326 }
catch (
final IOException ex) {
327 System.err.println(
"Cannot write keyboard debug: "+ex.getMessage());
329 throw new AssertionError(ex);
final KeybindingsManager keybindingsManager
The KeybindingsManager to use.
final Writer debugKeyboard
The Writer for logging keyboard debug output.
Combines a list of GUIElements to for a gui.
void setDefaultKeyBindings(@NotNull final KeyBindings defaultKeyBindings)
Sets the default KeyBindings of the currently active skin.
static final int NONE
The mask for "no modifier".
KeyHandler(@Nullable final Writer debugKeyboard, @NotNull final KeybindingsManager keybindingsManager, @NotNull final CommandQueue commandQueue, @NotNull final JXCWindowRenderer windowRenderer, @NotNull final KeyHandlerListener keyHandlerListener)
Creates a new instance.
Handles keyboard input processing.
boolean keyReleased()
Processes a key released event.
static final DateTimeFormatter FORMATTER
A formatter for timestamps.
static final int CTRL
The mask for "ctrl".
void setDefaultKeyBindings(@NotNull final KeyBindings defaultKeyBindings)
Sets the default KeyBindings of the currently active skin.
void debugKeyboardWrite(@NotNull final String type, @NotNull final KeyEvent keyEvent, @NotNull final KeyEvent2 keyEvent2)
Writes a KeyEvent to the keyboard debug.
void escPressed()
The ESC key has been pressed.
void keyReleased()
A key (but not ESC) has been released.
Iterable< Gui > getOpenDialogs()
Returns all open dialogs in reverse painting order; the first element is the top-most dialog.
Represents a pressed or released key.
Manages a set of key bindings.
boolean isRunningUsingCtrl()
Returns whether the player is running because of the Ctrl key or not.
boolean handleKeyPress(@NotNull final KeyEvent2 e)
Dispatches a key press KeyEvent.
boolean keyPressed(@NotNull final KeyEvent2 keyEvent)
Processes a key pressed event.
void handleKeyRelease(@NotNull final KeyEvent2 e)
Handles a "key released" event.
void updateModifiers(@NotNull final KeyEvent2 keyEvent)
Updates the saved modifier state from a key event.
boolean isRunningUsingCtrl
Whether the player is running because she is using the Ctrl key or not.
boolean stopRunning()
Tells the server to stop running.
boolean handleKeyPress(@NotNull final KeyEvent2 e)
Processes a key pressed event.
final CommandQueue commandQueue
The CommandQueue to use.
Renders a Gui instance into a Frame.
Interface for listeners interested in pressed ESC keys.
final KeyHandlerListener keyHandlerListener
The KeyHandlerListener to notify.
void debugKeyboardWrite(@NotNull final CharSequence message)
Writes a message to the keyboard debug.
final JXCWindowRenderer windowRenderer
The JXCWindowRenderer to use.
void keyReleased(@NotNull final KeyEvent e)
Handles a "key released" event.
void keyPressed(@NotNull final KeyEvent e)
Handles a "key pressed" event.
RendererGuiState getGuiState()
Returns the current gui state.
void addToRepeatCount(final int digit)
Adds a digit to the current repeat count.
Maintains the pending (ncom) commands sent to the server.
void handleKeyPress(@NotNull final KeyEvent2 e)
Handles a "key pressed" event.