# def-keys -- default client keybindings
#
# This file contains a set of default client keybindings. It is converted into
# a C header file at build time and parsed by the client when a key file isn't
# found in the user's home folder or a default system location.
#
# <keysym> <keynro> <flags> <string>
#
# <keynro> will typically be the keycode for that key.  While
# keysyms are defined to work across different servers, keycodes are
# server/machine specific. Keycodes are only needed because some keyboards
# (sun's type 5 for one) have keys with no corresponding keysym.
# When loading, all keysyms are converted to keycodes for matching.
#
# Flags:
#   N - Normal mode
#   F - Fire mode
#   R - Run mode
#   A - All modes
#   E - Leave in line edit mode

#### Basic Keys ####
# The trailing space on the following two lines are intentional.
quotedbl 1 AE say 
Return 1 AE chat 
semicolon 0 NE reply

comma 1 A take
less 0 F get all
period 1 N stay fire
question 1 A help

a 1 N apply
d 1 N disarm
e 1 NR examine
s 1 F brace
s 1 N search
t 1 N ready_skill throwing

#### Cursor (Directional Keys) ####
# Nethack-Style
b 1 N southwest
h 1 N west
j 1 N south
k 1 N north
l 1 N east
n 1 N southeast
u 1 N northeast
y 1 N northwest

b 1 R southwest
h 1 R west
j 1 R south
k 1 R north
l 1 R east
n 1 R southeast
u 1 R northeast
y 1 R northwest

b 1 F southwest
h 1 F west
j 1 F south
k 1 F north
l 1 F east
n 1 F southeast
u 1 F northeast
y 1 F northwest

# Arrow Keys
Up 1 A north
Down 1 A south
Left 1 A west
Right 1 A east

# Number Pad Arrow Keys
KP_8 1 A north
KP_2 1 A south
KP_4 1 A west
KP_6 1 A east
KP_7 1 A northwest
KP_9 1 A northeast
KP_5 1 A stay
KP_1 1 A southwest
KP_3 1 A southeast

# Windows reports Home, End, etc. as not separate from their non-keypad equivalents.
# These appear over the numpad keys when attempting to fire diagonally.
# With NumLock off, the following 8 bindings suffice.
End 1 F southwest f
Home 1 F northwest f
PgUp 1 F northeast f
PgDown 1 F southeast f
End 1 N southwest
Home 1 N northwest
Page_Up 1 N northeast
Page_Down 1 N southeast
End 1 R southwest
Home 1 R northwest
Page_Up 1 R northeast
Page_Down 1 R southeast

# Keys for Sun Type 4 Keyboards
KP_Up 1 A north
KP_Down 1 A south
KP_Right 1 A east
KP_Left 1 A west
KP_Home 1 A northwest
KP_Prior 1 A northeast
#Unfortunately, there is no name for the middle key.
#KP_5 1 A stay
KP_End 1 A southwest
KP_Next 1 A southeast

#### Action Rotation ####
KP_Add 1 A rotateshoottype
KP_Subtract 1 A rotateshoottype -
minus 1 N rotateshoottype -1
plus 1 NF rotateshoottype
