Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

485 lines (471 sloc) 15.279 kb
//
// DEFAULT UIKEYS.TXT FOR SPRING
// -----------------------------
//
//
// Quick Notes:
//
// 1. The built-in default bindings are always loaded. If you wish
// to override them, use the unbindall and unbind commands
// to delete them at the beginning of your 'uikeys.txt'.
//
// 2. More then one action can be bound to a specific keyset. The
// actions for any given keyset are tried in the order that they
// were bound. The first currently available command that matches
// an action is used.
//
// 3. As a slight modification to the above note, keysets that use
// the 'Any' modifier are tried after those that do not use it.
//
// 4. A keyset using the Shift modifier should be bound with its
// unshifted key (ex: bind "Shift+." instead of "Shift+>" )
//
//
// Commands that can be used in this file:
//
// unbindall
// ---------
// - removes all bindings, and adds "bind enter chat"
// (one of the other unbind commands can get rid of that one)
// - good for deleting the default bindings
//
// keysym <name> <keycode>
// -----------------------
// - add a custom key symbol (the default key symbols can not be overriden)
// - name must start with a letter, and only contain letters, numbers, and '_'
// - the <keycode> can be a currently recognized keysym
// (ex: "keysym menu 0x13F" or "keysym radar r")
//
// keyset <name> <keyset>
// ----------------------
// - specifies a named keyset
// - name must start with a letter, and only contain letters, numbers, and '_'
// - named keysets may be accessed by prepending the '&' character to the name
// (ex: "keyset myKeySet Ctrl+x" then "bind &myKeySet myAction" )
//
// fakemeta <keysym>
// -----------------
// - assign an auxiliary key for the Meta modifier ("space" is a good choice)
// - use "fakemeta none" to disable this feature
//
// bind <keyset> <action>
// ----------------------
// - appends the action to the keyset's list of actions
// - the action can be just a command, or a command with arguments
//
// unbind <keyset> <action>
// ------------------------
// - removes the action from the keyset's list of actions
// - both the action and the keyset must match
//
// unbindkeyset <keyset>
// ---------------------
// - removes all bindings that use the keyset
//
// unbindaction <action>
// ---------------------
// - removes all bindings that use the action (command that is, a misnomer)
//
//
// * NOTE: These commands can also be run from the chat line in-game using
// the slash command syntax (/bind, /unbind, etc...)
//
//
// Keyset Format:
//
// A keyset is a combination of keys, the main key and its modifiers.
//
// Here are some examples:
//
// bind a fake_action
// bind Ctrl+a fake_action
// bind C+a fake_action
// bind Ctrl+Shift+a fake_action
// bind *+a fake_action
// bind &my_keyset fake_action
//
// The format then goes like this:
//
// [<Modifier>+]...[<Modifier>+]<keysym>
//
// or
//
// &<keyset_name> (for named keysets)
//
// The modifiers (and their abbreviations), are:
//
// Any (*)
// Alt (A)
// Ctrl (C)
// Meta (M)
// Shift (S)
//
// The special 'Any' modifier makes it so that the keyset matches
// regardless of the current state of the real modifiers.
//
// The known keysyms (key symbols), are listed at the end of this file.
// If you want to use a key that is unknown to Spring, then you may use
// the hexadecimal notation. Here are two equivalent bindings:
//
// bind Ctrl+0x20 firestate 0 // hold fire
// bind Ctrl+space firestate 0 // hold fire
//
//
// Extra Run-Time Commands
//
// /keyload : loads the uikeys.txt bindings (does not clear current bindings)
// /keyreload : loads the uikeys.txt bindings (clears current bindings first)
// /keysave : save current bindings to 'uikeys.tmp' (NOTE: 'tmp' vs. 'txt')
// /keysyms : prints the known keysyms to standard out
// /keycodes : prints the known keycodes to standard out
// /keyprint : prints the current bindings to standard out
// /keydebug : prints debugging information to standard out (for each keystroke)
//
//
// Hotbinding:
//
// The default bindings include the 'hotbind' (Ctrl+insert) and
// 'hotunbind' (Ctrl+delete) capabilities. Place the mouse cursor over one
// of the control panel icons (normal command or build command), and press
// Ctrl+insert. Spring will then ask for a keyset, which will then have the
// icon's command immediately appended to its list of actions. Placing the
// mouse cursor over an icon and hitting Ctrl+delete will delete all bindings
// associated with that icon's command.
//
//
// Default Bindings:
//
// fakemeta space
//
// bind esc quitmenu
// bind Ctrl+Shift+esc quitforce
//
// bind Any+enter chat
// bind Alt+enter chatally
// bind Alt+enter chatswitchally
// bind Ctrl+enter chatall
// bind Ctrl+enter chatswitchall
// bind Shift+enter chatspec
// bind Shift+enter chatswitchspec
//
// bind Any+enter edit_return
// bind Any+escape edit_escape
// bind Any+tab edit_complete
// bind Any+backspace edit_backspace
// bind Any+delete edit_delete
// bind Alt+left edit_home
// bind Any+home edit_home
// bind Alt+right edit_end
// bind Any+end edit_end
// bind Any+left edit_prev_char
// bind Any+right edit_next_char
// bind Ctrl+left edit_prev_word
// bind Ctrl+right edit_next_word
// bind Any+up edit_prev_line
// bind Any+down edit_next_line
//
// bind Ctrl+v pastetext
//
// bind Any+pause pause
//
// bind Any+j mouse2
// bind backspace mousestate
// bind Shift+backspace togglecammode
// bind Ctrl+backspace togglecammode
//
// bind Any+i gameinfo
//
// bind Any+l togglelos
// bind Any+; toggleradarandjammer
// bind Any+tab toggleoverview
//
// bind , prevmenu
// bind . nextmenu
// bind Shift+, decguiopacity
// bind Shift+. incguiopacity
//
// bind Ctrl+insert hotbind
// bind Ctrl+delete hotunbind
//
// bind Any++ speedup
// bind Any+= speedup
// bind Any+- slowdown
// bind Any+insert speedup
// bind Any+delete slowdown
// bind Any+numpad+ speedup
// bind Any+numpad- slowdown
//
// bind Alt+b debug
// bind Alt+v debugcolvol
// bind Alt+o singlestep
//
// bind Any+h sharedialog
//
// bind Any+c controlunit
// bind Ctrl+t trackmode
// bind Any+t track
//
// bind Any+` drawinmap
// bind Any+\ drawinmap
// bind Any+0xa7 drawinmap
//
// bind Any+home increaseViewRadius
// bind Any+end decreaseViewRadius
//
// bind Any+up moveforward
// bind Any+down moveback
// bind Any+right moveright
// bind Any+left moveleft
// bind Any+pageup moveup
// bind Any+pagedown movedown
// bind Any+shift movefast
// bind Any+ctrl moveslow
//
// bind 1 specteam 0
// bind 2 specteam 1
// bind 3 specteam 2
// bind 4 specteam 3
// bind 5 specteam 4
// bind 6 specteam 5
// bind 7 specteam 6
// bind 8 specteam 7
// bind 9 specteam 8
// bind 0 specteam 9
// bind Ctrl+1 specteam 10
// bind Ctrl+2 specteam 11
// bind Ctrl+3 specteam 12
// bind Ctrl+4 specteam 13
// bind Ctrl+5 specteam 14
// bind Ctrl+6 specteam 15
// bind Ctrl+7 specteam 16
// bind Ctrl+8 specteam 17
// bind Ctrl+9 specteam 18
// bind Ctrl+0 specteam 19
//
// bind Any+0 group0
// bind Any+1 group1
// bind Any+2 group2
// bind Any+3 group3
// bind Any+4 group4
// bind Any+5 group5
// bind Any+6 group6
// bind Any+7 group7
// bind Any+8 group8
// bind Any+9 group9
//
// bind Any+z buildspacing inc
// bind Any+x buildspacing dec
//
// bind [ buildfacing inc
// bind Shift+[ buildfacing inc
// bind ] buildfacing dec
// bind Shift+] buildfacing dec
//
// bind a attack
// bind Shift+a attack
// bind Alt+a areaattack
// bind Alt+Shift+a areaattack
// bind d manualfire
// bind Shift+d manualfire
// bind Ctrl+d selfd
// bind Ctrl+Shift+d selfd queued
// bind e reclaim
// bind Shift+e reclaim
// bind f fight
// bind Shift+f fight
// bind Alt+f forcestart
// bind g guard
// bind Shift+g guard
// bind k cloak
// bind Shift+k cloak
// bind l loadunits
// bind Shift+l loadunits
// bind m move
// bind Shift+m move
// bind p patrol
// bind Shift+p patrol
// bind r repair
// bind Shift+r repair
// bind s stop
// bind Shift+s stop
// bind u unloadunits
// bind Shift+u unloadunits
// bind w wait
// bind Shift+w wait queued
// bind x onoff
// bind Shift+x onoff
//
// bind q groupselect
// bind q groupadd
// bind Ctrl+q aiselect
// bind Shift+q groupclear
//
// bind Ctrl+f1 viewfps
// bind Ctrl+f2 viewta
// bind Ctrl+f3 viewtw
// bind Ctrl+f4 viewrot
//
// bind Any+f1 showElevation
// bind Any+f2 ShowPathTraversability
// bind Any+f3 LastMsgPos
// bind Any+f4 ShowMetalMap
// bind Any+f5 hideinterface
// bind Any+f6 NoSound
// bind Any+f7 dynamicSky
// bind Ctrl+Shift+f8 savegame
// bind Any+f9 showhealthbars
// bind Ctrl+Shift+f10 createvideo
// bind Any+f11 screenshot
// bind Any+f12 screenshot
//
// bind Ctrl+a select AllMap++_ClearSelection_SelectAll+
// bind Ctrl+b select AllMap+_Builder_Idle+_ClearSelection_SelectOne+
// bind Ctrl+c select AllMap+_ManualFireUnit+_ClearSelection_SelectOne+
// bind Ctrl+r select AllMap+_Radar+_ClearSelection_SelectAll+
// bind Ctrl+v select AllMap+_Not_Builder_Not_Commander_InPrevSel_Not_InHotkeyGroup+_SelectAll+
// bind Ctrl+w select AllMap+_Not_Aircraft_Weapons+_ClearSelection_SelectAll+
// bind Ctrl+x select AllMap+_InPrevSel_Not_InHotkeyGroup+_SelectAll+
// bind Ctrl+z select AllMap+_InPrevSel+_ClearSelection_SelectAll+
// Key Symbol Key Code
// ---------- --------
//
// ! 0x021
// " 0x022
// # 0x023
// $ 0x024
// % 0x025
// & 0x026
// ' 0x027
// ( 0x028
// ) 0x029
// * 0x02A
// + 0x02B
// , 0x02C
// - 0x02D
// . 0x02E
// / 0x02F
// 0 0x030
// 1 0x031
// 2 0x032
// 3 0x033
// 4 0x034
// 5 0x035
// 6 0x036
// 7 0x037
// 8 0x038
// 9 0x039
// : 0x03A
// ; 0x03B
// < 0x03C
// = 0x03D
// > 0x03E
// ? 0x03F
// @ 0x040
// [ 0x05B
// \ 0x05C
// ] 0x05D
// ^ 0x05E
// _ 0x05F
// ` 0x060
// a 0x061
// alt 0x134
// b 0x062
// backspace 0x008
// c 0x063
// clear 0x00C
// ctrl 0x132
// d 0x064
// delete 0x07F
// down 0x112
// e 0x065
// end 0x117
// enter 0x00D
// esc 0x01B
// escape 0x01B
// f 0x066
// f1 0x11A
// f10 0x123
// f11 0x124
// f12 0x125
// f13 0x126
// f14 0x127
// f15 0x128
// f2 0x11B
// f3 0x11C
// f4 0x11D
// f5 0x11E
// f6 0x11F
// f7 0x120
// f8 0x121
// f9 0x122
// g 0x067
// h 0x068
// home 0x116
// i 0x069
// insert 0x115
// j 0x06A
// joy0 0x12C
// joy1 0x12D
// joy2 0x12E
// joy3 0x12F
// joy4 0x130
// joy5 0x131
// joy6 0x132
// joy7 0x133
// joydown 0x141
// joyleft 0x142
// joyright 0x143
// joyup 0x140
// joyw 0x193
// joyx 0x190
// joyy 0x191
// joyz 0x192
// k 0x06B
// l 0x06C
// left 0x114
// m 0x06D
// meta 0x136
// n 0x06E
// numpad* 0x10C
// numpad+ 0x10E
// numpad- 0x10D
// numpad. 0x10A
// numpad/ 0x10B
// numpad0 0x100
// numpad1 0x101
// numpad2 0x102
// numpad3 0x103
// numpad4 0x104
// numpad5 0x105
// numpad6 0x106
// numpad7 0x107
// numpad8 0x108
// numpad9 0x109
// numpad= 0x110
// numpad_enter 0x10F
// o 0x06F
// p 0x070
// pagedown 0x119
// pageup 0x118
// pause 0x013
// printscreen 0x13C
// q 0x071
// r 0x072
// return 0x00D
// right 0x113
// s 0x073
// shift 0x130
// space 0x020
// t 0x074
// tab 0x009
// u 0x075
// up 0x111
// v 0x076
// w 0x077
// x 0x078
// y 0x079
// z 0x07A
// { 0x07B
// | 0x07C
// } 0x07D
// ~ 0x07E
Jump to Line
Something went wrong with that request. Please try again.