Browse Source

use shortcut modifier for command-arrow vs control-arrow on OS X; added a quick key reference to help

tags/2.8^2
Patrick Surry 5 years ago
parent
commit
cb15a6dc17
2 changed files with 36 additions and 9 deletions
  1. +27
    -0
      README.md
  2. +9
    -9
      src/com/droidquest/avatars/Player.java

+ 27
- 0
README.md View File

@@ -11,6 +11,33 @@ Run with:

java -jar target/dq-1.1-SNAPSHOT.jar

Controls:

/ - help
arrows - normal movement
control + arrows - fine-grained movement [OS X: command + arrows]
space - pickup/drop
C - game cursor
H - hot cursor
S - solder pen
R - toggle radio
P - paintbrush
T - toolbox
[, ] - rotate
F - flip
L - load small chip
E - enter room
X - exit room

Cheat/debug:

shift + arrows - move rooms
M - dump memory usage

Note: On OS X, control + arrow-keys are bound to Apple's "Mission Control". I switched to the 'shortcut' modifier which is control on windows and command on OS X. Alternatively, you can disable
built in OS X shortcuts via System Preferences -> Keyboard -> Shorcuts.


Copyright (c) 2000 Thomas Foote

Permission is hereby granted, free of charge, to any person obtaining

+ 9
- 9
src/com/droidquest/avatars/Player.java View File

@@ -15,7 +15,7 @@ import java.awt.event.KeyEvent;
public class Player extends Item implements Avatar {

private int keyRepeatRate = 5;
private int shortcut_modifier = Toolkit.getDefaultToolkit ().getMenuShortcutKeyMask();

protected boolean handleSaveSmallChip() {
return false;
@@ -362,16 +362,16 @@ public class Player extends Item implements Avatar {
else if (e.getKeyCode() == KeyEvent.VK_SLASH && handleHelp()) {
return false;
}
else if (e.getKeyCode() == KeyEvent.VK_RIGHT && handleMoveRight(e.isShiftDown(), e.isControlDown())) {
else if (e.getKeyCode() == KeyEvent.VK_RIGHT && handleMoveRight(e.isShiftDown(), (e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
else if (e.getKeyCode() == KeyEvent.VK_LEFT && handleMoveLeft(e.isShiftDown(), e.isControlDown())) {
else if (e.getKeyCode() == KeyEvent.VK_LEFT && handleMoveLeft(e.isShiftDown(), (e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
else if (e.getKeyCode() == KeyEvent.VK_UP && handleMoveUp(e.isShiftDown(), e.isControlDown())) {
else if (e.getKeyCode() == KeyEvent.VK_UP && handleMoveUp(e.isShiftDown(), (e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
else if (e.getKeyCode() == KeyEvent.VK_DOWN && handleMoveDown(e.isShiftDown(), e.isControlDown())) {
else if (e.getKeyCode() == KeyEvent.VK_DOWN && handleMoveDown(e.isShiftDown(), (e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
else if (e.getKeyCode() == KeyEvent.VK_SPACE && handlePickupDrop()) {
@@ -455,22 +455,22 @@ public class Player extends Item implements Avatar {

public boolean KeyDown(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
if (handleRepeatRight(e.isControlDown())) {
if (handleRepeatRight((e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
}
else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
if (handleRepeatLeft(e.isControlDown())) {
if (handleRepeatLeft((e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
}
else if (e.getKeyCode() == KeyEvent.VK_UP) {
if (handleRepeatUp(e.isControlDown())) {
if (handleRepeatUp((e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
}
else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
if (handleRepeatDown(e.isControlDown())) {
if (handleRepeatDown((e.getModifiers() & shortcut_modifier) > 0)) {
return true;
}
}

Loading…
Cancel
Save