Some features:
Re-bound g key to the "selectgroup" command. This keybind had been deleted by mistake, not on purpose.
Re-bound p key to the "togglepause" command (to pause construction of units & buildings) which had been assigned by mistake to "pause", which shall pause the game instead (explanation below).
Bound both shift and p keys for "pause"
The command "selectall" is still bound to both shift and e keys (explanation below). However, if you still wish to just press e to select all units, then change this line:
Code: Select all
Bind("shift e", "client.event de::selectall");
Code: Select all
Bind("e", "client.event de::selectall");
Rebound " ] " keys or " [ " keys to skip to each of all units.
Spoiler
Just replace the existing code in client > p > ingame > if_game_keybind.cfg with this modified code:
Code: Select all
///////////////////////////////////////////////////////////////////////////////
//
// Pandemic Studios
//
// Key Bindings
//
// Standard bindings
Bind("escape", "iface.activatescroll Client::MainMenu Top 0.2");
Bind("shift p", "client.pause");
// Camera heights
Bind("F1", "camera.setheight 10");
Bind("F2", "camera.setheight 20");
Bind("F3", "camera.setheight 30");
Bind("F4", "camera.setheight 40");
Bind("F5", "camera.setheight 50");
Bind("F6", "camera.setheight 60");
Bind("F7", "camera.setheight 70");
Bind("F8", "camera.setheight 80");
// Camera movement
BindHold("f", "camera.bind.freelook");
BindHold("rightarrow", "camera.bind.right");
BindHold("leftarrow", "camera.bind.left");
BindHold("uparrow", "camera.bind.forward");
BindHold("downarrow", "camera.bind.back");
Bind("r", "client.setcursorpos 50%,50%");
Bind("Refresh", "client.setcursorpos 50%,50%");
Bind("numpad1", "camera.rotateto 0");
Bind("numpad2", "camera.rotateto 45");
Bind("numpad3", "camera.rotateto 90");
Bind("numpad4", "camera.rotateto -45");
Bind("numpad5", "camera.setheight 40;camera.rotateto 45");
Bind("numpad6", "camera.rotateto 135");
Bind("numpad7", "camera.rotateto -90");
Bind("numpad8", "camera.rotateto -135");
Bind("numpad9", "camera.rotateto 180");
// Create a squad using the current selection
Bind("ctrl 1", "iface.sendnotifyevent Client::SquadManager.Squad1 SquadControl::Create");
Bind("ctrl 2", "iface.sendnotifyevent Client::SquadManager.Squad2 SquadControl::Create");
Bind("ctrl 3", "iface.sendnotifyevent Client::SquadManager.Squad3 SquadControl::Create");
Bind("ctrl 4", "iface.sendnotifyevent Client::SquadManager.Squad4 SquadControl::Create");
Bind("ctrl 5", "iface.sendnotifyevent Client::SquadManager.Squad5 SquadControl::Create");
Bind("ctrl 6", "iface.sendnotifyevent Client::SquadManager.Squad6 SquadControl::Create");
Bind("ctrl 7", "iface.sendnotifyevent Client::SquadManager.Squad7 SquadControl::Create");
Bind("ctrl 8", "iface.sendnotifyevent Client::SquadManager.Squad8 SquadControl::Create");
//Bind("ctrl 9", "iface.sendnotifyevent Client::SquadManager.Squad9 SquadControl::Create");
//Bind("ctrl 0", "iface.sendnotifyevent Client::SquadManager.Squad0 SquadControl::Create");
// Add the current selection to a squad
Bind("alt 1", "iface.sendnotifyevent Client::SquadManager.Squad1 SquadControl::Add");
Bind("alt 2", "iface.sendnotifyevent Client::SquadManager.Squad2 SquadControl::Add");
Bind("alt 3", "iface.sendnotifyevent Client::SquadManager.Squad3 SquadControl::Add");
Bind("alt 4", "iface.sendnotifyevent Client::SquadManager.Squad4 SquadControl::Add");
Bind("alt 5", "iface.sendnotifyevent Client::SquadManager.Squad5 SquadControl::Add");
Bind("alt 6", "iface.sendnotifyevent Client::SquadManager.Squad6 SquadControl::Add");
Bind("alt 7", "iface.sendnotifyevent Client::SquadManager.Squad7 SquadControl::Add");
Bind("alt 8", "iface.sendnotifyevent Client::SquadManager.Squad8 SquadControl::Add");
//Bind("alt 9", "iface.sendnotifyevent Client::SquadManager.Squad9 SquadControl::Add");
//Bind("alt 0", "iface.sendnotifyevent Client::SquadManager.Squad0 SquadControl::Add");
// Select a squad
Bind("1", "iface.sendnotifyevent Client::SquadManager.Squad1 SquadControl::Select");
Bind("2", "iface.sendnotifyevent Client::SquadManager.Squad2 SquadControl::Select");
Bind("3", "iface.sendnotifyevent Client::SquadManager.Squad3 SquadControl::Select");
Bind("4", "iface.sendnotifyevent Client::SquadManager.Squad4 SquadControl::Select");
Bind("5", "iface.sendnotifyevent Client::SquadManager.Squad5 SquadControl::Select");
Bind("6", "iface.sendnotifyevent Client::SquadManager.Squad6 SquadControl::Select");
Bind("7", "iface.sendnotifyevent Client::SquadManager.Squad7 SquadControl::Select");
Bind("8", "iface.sendnotifyevent Client::SquadManager.Squad8 SquadControl::Select");
//Bind("9", "iface.sendnotifyevent Client::SquadManager.Squad9 SquadControl::Select");
//Bind("0", "iface.sendnotifyevent Client::SquadManager.Squad0 SquadControl::Select");
// Select a squad and scroll
Bind("shift 1", "iface.sendnotifyevent Client::SquadManager.Squad1 SquadControl::JumpTo");
Bind("shift 2", "iface.sendnotifyevent Client::SquadManager.Squad2 SquadControl::JumpTo");
Bind("shift 3", "iface.sendnotifyevent Client::SquadManager.Squad3 SquadControl::JumpTo");
Bind("shift 4", "iface.sendnotifyevent Client::SquadManager.Squad4 SquadControl::JumpTo");
Bind("shift 5", "iface.sendnotifyevent Client::SquadManager.Squad5 SquadControl::JumpTo");
Bind("shift 6", "iface.sendnotifyevent Client::SquadManager.Squad6 SquadControl::JumpTo");
Bind("shift 7", "iface.sendnotifyevent Client::SquadManager.Squad7 SquadControl::JumpTo");
Bind("shift 8", "iface.sendnotifyevent Client::SquadManager.Squad8 SquadControl::JumpTo");
//Bind("shift 9", "iface.sendnotifyevent Client::SquadManager.Squad9 SquadControl::JumpTo");
//Bind("shift 0", "iface.sendnotifyevent Client::SquadManager.Squad0 SquadControl::JumpTo");
// Client discrete events
Bind("s", "client.event de::stop");
Bind(",", "client.event de::prevdir");
Bind(".", "client.event de::nextdir");
Bind("shift d", "client.event de::selfdestruct");
Bind("u", "client.event de::upgrade");
Bind("shift [", "client.event de::prevunit filter::heroes");
Bind("shift ]", "client.event de::nextunit filter::heroes");
Bind("[", "client.event de::prevunit");
Bind("]", "client.event de::nextunit");
//Bind("alt [", "client.event de::prevunittype");
//Bind("alt ]", "client.event de::nextunittype");
Bind("h", "client.event de::nextunit filter::headquarters");
Bind("b", "client.event de::nextunit filter::builders");
//Bind("l", "client.event de::unloadcargo");
Bind("shift e", "client.event de::selectall");
Bind("shift r", "client.event de::recycle");
Bind("p", "client.event de::generic::togglepause");
Bind("space", "client.event de::messagejump::last");
Bind("shift `", "client.event de::squad::removeselected");
Bind("g", "client.event de::selectgroup");
// Whacky
Bind("j", "message.game.trigger Client::Jkey");
// Client modes
Bind("t", "client.triggermode turn");
Bind("a", "client.triggermode attack");
// Bindings based on single/multi player
If("multiplayer.flags.online")
{
Bind("enter", "iface.activate Client::Chat");
Bind("c", "iface.toggleactive Client::Comms");
}
Else()
{
// Save and load game
Bind("F9", "iface.activate Client::SaveLoad");
Bind("F10", "iface.activate Client::SaveLoad; iface.sendnotifyevent 'Client::SaveLoad' 'QuickSave'");
Bind("F11", "iface.sendnotifyevent 'Client::SaveLoad' 'QuickLoad'");
// Secret codes
Bind("Alt BackSpace", "iface.activate Client::Code");
}
Answer: The e key is just immediately below the 3 key. I often accidentally pressed e key instead of the 3 key & therefore accidentally selected all units instead of just the squad number 3 with the vanilla keybind. That's why I re-bound both shift and e keys for the command "selectall" so that, even should I accidentally press e key, I would not select all units.
Question: Why did you bind p key to the "pause" command to pause the whole game?
Answer: I never paused constructions, I just canceled constructions outright, so I forgot which command (i.e. "pause" or "togglepause") does what. Hence the mistaken keybindings.