Instructions on creating your own custom keys.
Auto grouping
Ever wished to have all fighters in group 7, all gunships in group 8, all raiders in 4 etc?
Autogroup achieves just that..
- Auto grouping is feature of ZK (widget)
- Alt+number - makes permanent "auto group" out of currently selected unit types
- New units then join that group when they first become idle.
- Alt+~ - removes currently selected unit types from the autogrouping.
- Ctrl+~ - selects ONE unit out of currently selected units (closest to your mouse cursor) and removes it from any groups (not removing type from auto group, just current unit from group).
- Autogroup settings can be modified from the in-game menu: Menu -> Settings -> Widgets -> Autogroup.
Example use:
- Select a Glaive and a Warrior and press _alt+1_.
- From then on, new Glaives and Warriors will join group 1 when they first become idle (after reaching factory waypoint). You can press 1 to select them.
- If you then want to add Zeuses to autogroup 1, select one and press _alt+1_.
- If you then want to remove Glaives from autogroup 1, select one and press _alt+~_.
Selection Keys
In the spring folder (windows) there is a nice little program called 'SelectionEditor.exe'. With the SelectionEditor you can create complex unit selection shortcuts to suit your playstyle. It is fairly easy to use, select a key combination and edit it or create a new one. Note that 'In view' works like 'All Map' if you zoom out, so 'In view' is far more useful. You don't want to burden your memory with tons of extremely specific selections. You are better off with a few 'In View' commands which can be intuitively customised on the fly using different views (base, frontline, zoom out to see all map).
Useful default keys:
- Ctrl-C selects your commander and focuses on him. Forgot where your commander is? Hit ctrl-c!
- Ctrl-B selects an idle builder, you don't need fancy widgets to remind you of idle builders, just use this shortcut.
- Ctrl-A selects all. Convenient in some situations, just please don't use ctrl-d with this when the battle is still going.
- Ctrl-Z selects all units of the same type as those in the current selection. The most used command, by many players. Very useful for keeping your army together, getting re-enforcements, etc. Its strongly suggested that you customize your keys to remove builders (and perhaps commanders and buildings) from the selection, as several games have been lost simply due to 'whoops, cntrl z cons' (Destroying all their previous orders and putting the economy at a standstill).
Some ideas for useful selections:
- *Select all in view, must not be: builder, building or commander, type exists in previous selection, clear previous selection.* I found this very useful in many situations. You can, for example, select a flash (from anywhere), zoom to the frontline, hit the selection and get all your flashes in frontline selected. You can zoom to your base and drag a box, hit the selection and quickly get a selection of all your mobile combat units in the base. I replaced the default ctrl-z with this.
Licho's selections:
- ctrl+a - *select all units*
- ctrl+b - *select builders*
- ctrl+c - *select commander*
- ctrl+e - *filter out damaged units from current selection*
- ctrl+f - *select combat aircrafts except fighters*
- ctrl+g - *select air superiority fighters (arm)*
- ctrl+h - *select emp bombers*
- ctrl+i - *select all idle units from current selection (example ctrl+f, ctrl+i - select idle air)*'
- ctrl+q - *select one unit from current selection*
- ctrl+r - *select clear out workers from current selection*
- ctrl+s - *select aircraft scouts*
- ctrl+t - *select transport aircrafts*
- ctrl+v - *select next idle worker (kind of . in AOE)*
- ctrl+w - *select land combat units*
- ctrl+x - *select high range land combat units (AA, arty)*
- ctrl+z - *select all units of currently selected type*
Control_A AllMap++_ClearSelection_SelectAll+ Control_B AllMap+_Builder_Not_Building_Not_Commander_Not_Transport_Not_Aircraft+_ClearSelection_SelectAll+ Control_C AllMap+_Commander+_ClearSelection_SelectOne+ Control_E PrevSelection+_Not_RelativeHealth_30+_ClearSelection_SelectAll+ Control_F AllMap+_Not_Builder_Not_Building_Not_Commander_Not_Transport_Aircraft_Weapons_Not_NameContain_Hawk_Not_Radar+_ClearSelection_SelectAll+ Control_G AllMap+_NameContain_Hawk+_ClearSelection_SelectAll+ Control_H AllMap+_Not_Builder_Not_Building_Not_Commander_Not_Transport_Aircraft_NameContain_Stiletto+_ClearSelection_SelectAll+ Control_I PrevSelection+_Idle+_ClearSelection_SelectAll+ Control_Q PrevSelection++_ClearSelection_SelectOne+ Control_R AllMap+_Not_Builder_Not_Building_Not_Commander+_ClearSelection_SelectAll+ Control_S AllMap+_Not_Builder_Not_Building_Not_Transport_Aircraft_Radar+_ClearSelection_SelectAll+ Control_T AllMap+_Not_Builder_Not_Building_Not_Commander_Transport_Aircraft+_ClearSelection_SelectAll+ Control_V AllMap+_Builder_Not_Building_Idle+_ClearSelection_SelectOne+ Control_W AllMap+_Not_Builder_Not_Building_Not_Commander_Not_Transport_Not_Aircraft_Weapons_Not_WeaponRange_600+_ClearSelection_SelectAll+ Control_X AllMap+_Not_Builder_Not_Building_Not_Commander_Not_Transport_Not_Aircraft_Weapons_WeaponRange_600+_ClearSelection_SelectAll+ Control_Z AllMap+_InPrevSel+_ClearSelection_SelectAll+
Custom Keybinds
You can bind custom keys in the 'uikeys.txt' in spring folder. For those who want a quick tutorial, make sure the key you want to bind is not used (you can for example add line 'unbindkeyset ctrl+d' to the file to free the keyset ctrl + d). Then add your binding using 'bind ctrl+d selfd' for example.
Instructions
Here is a copy of the detailed instructions are included in your 'uikeys.txt'.
// 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.
Example for those who don't want to search through build lists
Google Frog's uikeys:
Contains all of the most frequently built buildings and some infrequently built ones. Pressing the same key multiple times cycles through the same hotkey so they are sorted from most frequent to least frequent, this is usually smallest to largest. These take about a week to get used to but save a lot of time especially now that cons can build everything. Select AI must be unbound from ctrl-q.
unbindkeyset ctrl+q unbindaction selectai unbind Any+c controlunit bind c capture bind shift+c capture bind v controlunit unbind any+j mouse2 bind any+j jump //MEXES: bind ctrl+w buildunit_cormex bind ctrl+w areamex //ENERGY bind ctrl+f buildunit_armwin bind ctrl+f buildunit_armsolar bind ctrl+f buildunit_armfus bind ctrl+f buildunit_cafus bind ctrl+f buildunit_geo //Ground Based Air Defence bind ctrl+e buildunit_corrl bind ctrl+e buildunit_corrazor bind ctrl+e buildunit_missiletower bind ctrl+e buildunit_armcir bind ctrl+e buildunit_corflak bind ctrl+e buildunit_screamer //Ground DEFENCE bind ctrl+q buildunit_corllt bind ctrl+q buildunit_armdeva bind ctrl+q buildunit_armartic bind ctrl+q buildunit_corgrav bind ctrl+q buildunit_armpb bind ctrl+q buildunit_corhlt bind ctrl+q buildunit_cordoom bind ctrl+q buildunit_armanni //Intel/counter intel bind ctrl+r buildunit_corrad bind ctrl+r buildunit_armsonar bind ctrl+r buildunit_corjamt bind ctrl+r buildunit_armjamt bind ctrl+r buildunit_armarad //nano, pylon, and storage bind ctrl+s buildunit_armnanotc bind ctrl+s buildunit_armestor bind ctrl+s buildunit_armmstor ///////////// // End Keys, after building binds
Back to Manual