Hotkey Layouts

Talk about general things concerning Forged Alliance Forever.

Moderators: FtXCommando, Ze Dogfather

Hotkey Layouts

Postby JoonasTo » 11 Jan 2017, 19:34

Share your layout, with pictures or without but at least mention what keyboard layout it is for. A short introduction would also be preferable.

For starters, everyone who doesn't need the debug keybind, might want to delete their debug keymap. It is not necessary but they might interfere with some custom keybinds. Here's how:
Spoiler: show
This is done by editing the 'Game.prefs' file, that can be found in your '\Users\{Your username here}\AppData\Local\Gas Powered Games\Supreme Commander Forged Alliance\' folder. Look for 'UserDebugKeymap' and delete all the key entries in it, leaving only those you think you need. Normally, the end result will look like this:
Code: Select all
            UserDebugKeyMap = {
                ['Alt-F2'] = 'debug_create_unit'
            },
Copying hotkey layouts from other people works similarly. If you wish to share yours navigate to game.prefs and simply copy your 'UserKeymap' portion of the file. If you wish to install someone else's hotkey layout, simply overwrite your own keymap with theirs.
Of course you can just manually add the keys if you don't wish to engage in all that.


Here's what I run, Nordic layout(105-QWERTY, can use with german etc.)
Image
Spoiler: show
Code: Select all
UserKeyMap = {
                Tab = 'pause_unit',
                ['Ctrl-Shift-4'] = 'Go to camera position 4',
                ['Ctrl-Alt-E'] = 'all_engineer',
                ['Ctrl-Shift-D'] = 'select_all_land_factories',
                ['Ctrl-Alt-D'] = 'select_land',
                End = 'split_screen_disable',
                ['Ctrl-Alt-5'] = 'set_group0',
                ['Alt-UpArrow'] = 'switch_layout_up',
                ['Ctrl-2'] = 'set_group2',
                F2 = 'ping_move',
                ['Ctrl-Alt-X'] = 'select_all',
                ['Shift-Alt-D'] = 'shift_ferry',
                ['Ctrl-Alt-4'] = 'set_group9',
                ['Ctrl-Alt-Shift-3'] = 'Set camera position 3',
                ['Shift-1'] = 'fac_group1',
                PageUp = 'chat_page_up',
                ['Shift-3'] = 'fac_group3',
                ['Ctrl-N'] = 'rename',
                ['Shift-Z'] = 'shift_spreadattack',
                ['Shift-Delete'] = 'suicide',
                ['Ctrl-5'] = 'set_group5',
                ['Ctrl-Alt-A'] = 'select_air_no_transport',
                ['Alt-Shift-2'] = 'fac_group7',
                ['Ctrl-Z'] = 'select_all_units_of_same_type',
                ['Shift-5'] = 'fac_group5',
                Backslash = 'Toggle Unit Lock',
                ['Ctrl-Shift-Z'] = 'Shift Spread Move',
                ['Alt-LeftArrow'] = 'switch_skin_down',
                ['Shift-4'] = 'fac_group4',
                ['Alt-4'] = 'group9',
                ['Shift-PageUp'] = 'chat_line_up',
                ['Ctrl-W'] = 'select_commander',
                ['Shift-W'] = 'shift_overcharge',
                ['1'] = 'group1',
                ['3'] = 'group3',
                ['2'] = 'group2',
                ['5'] = 'group5',
                F4 = 'ping_marker',
                ['Ctrl-H'] = 'select_air_transport',
                Pause = 'pause',
                A = 'attack',
                C = 'mobilearty',
                B = 'tmd',
                ['Ctrl-3'] = 'set_group3',
                D = 'transport',
                G = 'pgen',
                F = 'engystation',
                ['Shift-PageDown'] = 'chat_line_down',
                Home = 'split_screen_enable',
                ['Alt-2'] = 'group7',
                L = 'zoom_pop',
                ['Alt-Q'] = 'patrol',
                ['Alt-F'] = 'aa',
                S = 'soft_stop',
                R = 'builders',
                ['Alt-F2'] = 'debug_create_unit',
                ['Ctrl-4'] = 'set_group4',
                W = 'overcharge',
                V = 'templates',
                Y = 'sensors',
                X = 'guard',
                Z = 'toggle_repeat_build',
                ['Ctrl-Y'] = 'nearest_idle_airscout',
                ['Ctrl-Shift-2'] = 'Go to camera position 2',
                ['Ctrl-B'] = 'select_torp',
                ['Shift-X'] = 'shift_guard',
                ['Shift-Alt-A'] = 'shift_launch_tactical',
                ['Ctrl-Alt-Shift-4'] = 'Set camera position 4',
                ['Ctrl-Alt-3'] = 'set_group8',
                ['Ctrl-D'] = 'select_all_land_onscreen',
                ['Ctrl-Alt-1'] = 'set_group6',
                ['Alt-T'] = 'arties',
                ['Ctrl-Q'] = 'select_anti_air_fighters',
                ['Ctrl-G'] = 'select_bomber_notorp',
                ['Alt-E'] = 'capture',
                F12 = 'show_network_stats',
                F11 = 'toggle_disconnect_screen',
                ['Ctrl-X'] = 'select_all_onscreen',
                ['Ctrl-Shift-S'] = 'select_all_naval_factories',
                ['Shift-Alt-E'] = 'shift_capture',
                ['Alt-G'] = 'tml',
                ['Alt-Shift-1'] = 'fac_group6',
                F10 = 'toggle_main_menu',
                ['Shift-Alt-X'] = 'shift_repair',
                F1 = 'ping_alert',
                NumStar = 'reset_game_speed',
                Slash = 'nuke',
                ['Ctrl-Shift-1'] = 'Go to camera position 1',
                ['Ctrl-Shift-3'] = 'Go to camera position 3',
                H = 'shields',
                ['Alt-A'] = 'launch_tactical',
                T = 'mass',
                F9 = 'toggle_key_bindings',
                ['Ctrl-C'] = 'select_all_subs',
                ['Ctrl-Alt-Shift-2'] = 'Set camera position 2',
                ['Shift-Backslash'] = 'mode',
                ['Ctrl-E'] = 'engineer_onscreen',
                ['Shift-Alt-S'] = 'shift_dive',
                ['Alt-J'] = 't2_field_engineer',
                ['Shift-CapsLock'] = 'idle_engineer_onscreen',
                J = 'fieldengy',
                ['Ctrl-A'] = 'select_all_air_onscreen',
                ['Shift-D'] = 'shift_transport',
                NumPlus = 'increase_game_speed',
                ['Alt-5'] = 'group0',
                ['Alt-D'] = 'ferry',
                ['Shift-S'] = 'shift_stop',
                ['Ctrl-K'] = 'Kill_Selected_Units',
                F3 = 'ping_attack',
                ['Alt-H'] = 'massfab',
                ['Ctrl-CapsLock'] = 'cycle_idle_factories',
                ['Ctrl-Alt-2'] = 'set_group7',
                ['Ctrl-T'] = 'select_all_land_indirectfire',
                ['Alt-Z'] = 'teleport',
                ['Alt-Shift-5'] = 'fac_group0',
                ['Ctrl-Shift-F'] = 'select_all_factory_onscreen',
                ['Alt-W'] = 'toggle_all',
                NumSlash = 'show_fps',
                ['Shift-Q'] = 'shift_move',
                ['Ctrl-R'] = 'select_all_land_directfire',
                ['Ctrl-Alt-S'] = 'select_naval_nosonar',
                ['4'] = 'group4',
                ['Ctrl-F'] = 'select_gunships',
                F8 = 'toggle_diplomacy_screen',
                ['Alt-Shift-4'] = 'fac_group9',
                ['Alt-X'] = 'repair',
                ['Alt-B'] = 'mobileshield',
                Q = 'move',
                ['Alt-S'] = 'dive',
                ['Ctrl-Alt-Shift-5'] = 'Set camera position 5',
                ['Ctrl-1'] = 'set_group1',
                PageDown = 'chat_page_down',
                CapsLock = 'add_nearest_idle_engineers_seq',
                ['Alt-Y'] = 'mml',
                ['Shift-E'] = 'shift_reclaim',
                ['Alt-3'] = 'group8',
                ['Ctrl-Shift-5'] = 'Go to camera position 5',
                ['Shift-2'] = 'fac_group2',
                ['Shift-Slash'] = 'shift_nuke',
                ['Alt-RightArrow'] = 'switch_skin_up',
                ['Shift-A'] = 'shift_attack',
                ['Ctrl-Shift-A'] = 'select_all_air_factories',
                Space = 'upgrades',
                ['Alt-R'] = 'defense',
                ['Ctrl-V'] = 'select_all_battleships',
                ['Alt-C'] = 'torpedo',
                ['Shift-Tab'] = 'cycle_unit_types_in_sel',
                ['Alt-1'] = 'group6',
                E = 'reclaim',
                ['Ctrl-S'] = 'select_naval_nosonar_onscreen',
                ['Ctrl-Shift-CapsLock'] = 'select_nearest_factory',
                ['Alt-Shift-3'] = 'fac_group8',
                NumMinus = 'decrease_game_speed',
                ['Alt-Shift-Q'] = 'shift_patrol',
                ['Alt-V'] = 'xp',
                ['Ctrl-Alt-Shift-1'] = 'Set camera position 1',
                ['Alt-DownArrow'] = 'switch_layout_down'
            },
It's a pretty basic right-handed grid layout for rather large hands, AWEF-homekeys, with keyboard at 30 degree angle towards your mouse hand(makes using ALT as a modifier much easier for some combinations.) Everything is in reach, so your hand doesn't have to move. The extra camera keys are from the 'Additional Camera Stuff'-mod.

The other extra keys are from here:
Better hotkeys mod


I modded the hotbuild chains to have even some semblance of sanity. Ended up with this, I think it turned out pretty well.

The idea here is that it works on associations in the same key, category inside the line and tech level in the same row. This way it is natural to use and easy to remember.

Image

Factions special units includes Shield Disruptor, Mobile Bomb, T3 Mobile Shield and T3 Mobile Missile Launcher. So that and Range bot key are breaking the tech per line but because of how factions the factional units are laid out, it's necessary.
Cruisers and Fighter/Bombers do indeed have two keys assigned to them. Both associations were logical for them.
I also added Salvation to the end of the Experimentals Hotbuild chain.
Torpedo bombers suck, I know.

Feel free to switch the lines and rows around however you like but if you wish to keep the logic of the system, never change single keys independently of their line or row on their own.

There is also no reason why you couldn't run these with modifiers, I myself have R,T,Y lines and ALT+R,T,Y, lines assigned to the grid. I'll update the opening post picture with this when I have time.

Here's the unitkeygroups.lua code to make this happen:
Spoiler: show
Code: Select all
unitkeygroups = {
   ["Builders"] = {
        "Land_Factory",
        "Air_Factory",
        "Naval_Factory",
        "T1_Engineer",
        "url0301", -- sACUs
        "ual0301",
        "uel0301",
        "xsl0301",
    },
    ["Sensors"] = {
        "Omni_Sensor",
        "Radar_System",
        "Sonar_Platform",
        "Sonar_System",
        "Perimeter_Monitoring_System",
        "Quantum_Optics_Facility",
      
        "T1_Land_Scout",
      
        "T1_Combat_Scout",
      
        "T1_Air_Scout",
    },
    ["Shields"] = {
        "Heavy_Shield_Generator",
        "Shield_Generator",
        "Stealth_Field_Generator",
      
        "T2_Mobile_Shield_Generator",
        "T2_Mobile_Stealth_Field_System",
      
      "T2_Torpedo_Bomber",
      
        "T2_Counter_Intelligence_Boat",
        "T2_Shield_Boat",
    },
    ["TMD"] = {
        "Tactical_Missile_Defense",
        "Strategic_Missile_Defense",
      
      "T2_Mobile_Bomb",
      "T3_Shield_Disruptor",
        "T3_Mobile_Shield_Generator",
        "T3_Mobile_Missile_Platform",
      
        "T3_Spy_Plane",
      
        "T3_Missile_Ship",
    },
    ["XP"] = {
        "Experimental",
      
        "T3_Mobile_Heavy_Artillery",
      
        "T3_Strategic_Bomber",
      
        "T3_Strategic_Missile_Submarine",
    },
    ["Mobilearty"] = {
      "T3_Support_Land_Factory",
        "T3_Support_Air_Factory",
        "T3_Support_Naval_Factory",
        "Quantum_Gateway",

        "T3_Engineer",
    },
    ["Mass"] = {
        "Mass_Extractor",
      
        "T1_Tank",
        "T1_Assault_Bot", -- Mantis
      
        "T1_Interceptor",
      
        "T1_Frigate",
    },
    ["MassFab"] = {
        "Mass_Fabricator",
      
        "T2_Mobile_Anti_Air_Cannon",
        "T2_Mobile_AA_Flak_Artillery",
      
        "T2_Air_Transport",
      
        "T2_Cruiser",
    },
    ["Pgen"] = {
        "Power_Generator",
        "Hydrocarbon_Power_Plant",
      
        "T2_Heavy_Tank",
        "T2_Assault_Bot",
      
        "T2_Combat_Fighter",
        "T2_Fighter/Bomber",
      
        "T2_Destroyer",
    },
    ["Templates"] = {
        "_templates", -- Special :)
      
        "ual0303", -- Harbinger
        "xrl0305", -- Brick
        "xel0305", -- Percival
        "xsl0303", -- Seraphim Tank
      
        "T3_Air_Superiority_Fighter",
      
        "T3_Battleship",
    },
    ["EngyStation"] = {
      "T2_Support_Land_Factory",
        "T2_Support_Air_Factory",
        "T2_Support_Naval_Factory",
        "Engineering_Station",
      
        "T2_Engineer",
    },
    ["MML"] = {
      "Energy_Storage",
      
        "T1_Mobile_Anti_Air_Gun",
      
        "T1_Light_Air_Transport",
      
        "T1_Attack_Boat", -- Aeon only
    },
    ["MobileShield"] = {
        "Air_Staging",
      
        "T3_Mobile_AA",
      
        "T3_Heavy_Air_Transport",
        "T3_Torpedo_Bomber",
      
        "T3_Aircraft_Carrier",
    },
    ["FieldEngy"] = {
      "Mass_Storage",
   
        "T2_Gatling_Bot",
        "T2_Rocket_Bot",
        "T3_Sniper_Bot",
    },
    ["Defense"] = {
        "Heavy_Point_Defense",
        "Point_Defense",
        "Wall_Section",
      
        "T1_Light_Assault_Bot",
      
        "T1_Light_Gunship",
      
        "T1_Attack_Submarine",
    },
    ["AA"] = {
        "Anti_Air",
      
        "T2_Hover_Tank",
        "T2_Amphibious_Tank",
        "T2_Assault_Tank",
      
        "T2_Gunship",
      
        "T2_Submarine_Hunter",
        "T2_Torpedo_Boat",
        "T2_Submarine_Killer",
    },
    ["Torpedo"] = {
        "Torpedo_Ambushing_System",
        "Torpedo_Launcher",
      
        "url0303", -- Loyalist
        "uel0303", -- Titan
      
        "T3_Heavy_Gunship",
        "T3_AA_Gunship",
      
        "T3_Submarine_Hunter",
        "T3_Battlecruiser",
    },
    ["Arties"] = {
        "Artillery_Installation",
        "Heavy_Artillery_Installation",
      
        "T1_Mobile_Light_Artillery",
      
        "T1_Attack_Bomber",
    },
    ["TML"] = {
        "Tactical_Missile_Launcher",
        "Strategic_Missile_Launcher",
      
        "T2_Mobile_Missile_Launcher",
   
        "T2_Fighter/Bomber",
        "T2_Guided_Missile",
      
        "T2_Cruiser",
    },
    ["Upgrades"] = {
        "_upgrade",
    },
    -- Buildings
    ["Experimental"] = {
        -- Aeon
        "ual0401", -- Galactic Colossus
        "uaa0310", -- Czar
        "uas0401", -- Tempest
        "xab1401", -- Paragon
      "xab2307", -- Salvation
        -- Cyb
        "url0402", -- Monkeylord
        "xrl0403", -- Megalith
        "url0401", -- Scathis
        "ura0401", -- Soulripper
        -- UEF
        "uel0401", -- Fatboy
        "ues0401", -- Atlantis
        "xeb2402", -- Novax
        "ueb2401", -- Mavor
        -- Sera
        "xsl0401", -- Ythotha
        "xsa0402", -- Bomber
        "xsb2401", -- SML
    },
    ["Land_Factory"] = {
        "xsb0101",
        "urb0101",
        "ueb0101",
        "uab0101",
    },
    ["Air_Factory"] = {
        "xsb0102",
        "urb0102",
        "ueb0102",
        "uab0102",
    },
    ["Naval_Factory"] = {
        "xsb0103",
        "urb0103",
        "ueb0103",
        "uab0103",
    },
    ["T2_Support_Factory"] = {
        "T2_Support_Land_Factory",
        "T2_Support_Air_Factory",
        "T2_Support_Naval_Factory",
    },
    ["T3_Support_Factory"] = {
        "T3_Support_Land_Factory",
        "T3_Support_Air_Factory",
        "T3_Support_Naval_Factory",
    },
    ["T2_Support_Land_Factory"] = {
        "zsb9501",
        "zrb9501",
        "zeb9501",
        "zab9501",
    },
    ["T2_Support_Air_Factory"] = {
        "zsb9502",
        "zrb9502",
        "zeb9502",
        "zab9502",
    },
    ["T2_Support_Naval_Factory"] = {
        "zsb9503",
        "zrb9503",
        "zeb9503",
        "zab9503",
    },
    ["T3_Support_Land_Factory"] = {
        "zsb9601",
        "zrb9601",
        "zeb9601",
        "zab9601",
    },
    ["T3_Support_Air_Factory"] = {
        "zsb9602",
        "zrb9602",
        "zeb9602",
        "zab9602",
    },
    ["T3_Support_Naval_Factory"] = {
        "zsb9603",
        "zrb9603",
        "zeb9603",
        "zab9603",
    },
    ["Quantum_Gateway"] = {
        "xsb0304",
        "urb0304",
        "ueb0304",
        "uab0304",
    },
    ["Power_Generator"] = {
        "xsb1301",
        "xsb1201",
        "xsb1101",
        "urb1301",
        "urb1201",
        "urb1101",
        "ueb1301",
        "ueb1201",
        "ueb1101",
        "uab1301",
        "uab1201",
        "uab1101",
    },
    ["Hydrocarbon_Power_Plant"] = {
        "xsb1102",
        "urb1102",
        "ueb1102",
        "uab1102",
    },
    ["Mass_Extractor"] = {
        "xsb1302",
        "xsb1202",
        "xsb1103",
        "urb1302",
        "urb1202",
        "urb1103",
        "ueb1302",
        "ueb1202",
        "ueb1103",
        "uab1302",
        "uab1202",
        "uab1103",
    },
    ["Mass_Fabricator"] = {
        "xsb1303",
        "xsb1104",
        "urb1303",
        "urb1104",
        "ueb1303",
        "ueb1104",
        "uab1303",
        "uab1104",
    },
    ["Energy_Storage"] = {
        "xsb1105",
        "urb1105",
        "ueb1105",
        "uab1105",
    },
    ["Mass_Storage"] = {
        "xsb1106",
        "urb1106",
        "ueb1106",
        "uab1106",
    },
    ["Point_Defense"] = {
        "xsb2301",
        "xsb2101",
        "urb2301",
        "urb2101",
        "ueb2301",
        "ueb2101",
        "uab2301",
        "uab2101",
    },
    ["Anti_Air"] = {
        "xsb2304",
        "xsb2204",
        "xsb2104",
        "urb2304",
        "urb2204",
        "urb2104",
        "ueb2304",
        "ueb2204",
        "ueb2104",
        "uab2304",
        "uab2204",
        "uab2104",
    },
    ["Tactical_Missile_Launcher"] = {
        "xsb2108",
        "urb2108",
        "ueb2108",
        "uab2108",
    },
    ["Torpedo_Launcher"] = {
        "xsb2205",
        "xsb2109",
        "urb2205",
        "urb2109",
        "ueb2205",
        "ueb2109",
        "uab2205",
        "uab2109",
    },
    ["Heavy_Artillery_Installation"] = {
        "xsb2302",
        "urb2302",
        "ueb2302",
        "uab2302",
    },
    ["Artillery_Installation"] = {
        "xsb2303",
        "urb2303",
        "ueb2303",
        "uab2303",
    },
    ["Strategic_Missile_Launcher"] = {
        "xsb2305",
        "urb2305",
        "ueb2305",
        "uab2305",
    },
    ["Radar_System"] = {
        "xsb3201",
        "xsb3101",
        "urb3201",
        "urb3101",
        "ueb3201",
        "ueb3101",
        "uab3201",
        "uab3101",
    },
    ["Sonar_System"] = {
        "xsb3202",
        "xsb3102",
        "urb3202",
        "urb3102",
        "ueb3202",
        "ueb3102",
        "uab3202",
        "uab3102",
    },
    ["Omni_Sensor"] = {
        "xsb3104",
        "urb3104",
        "ueb3104",
        "uab3104",
    },
    ["Tactical_Missile_Defense"] = {
        "xsb4201",
        "urb4201",
        "ueb4201",
        "uab4201",
    },
    ["Shield_Generator"] = {
        "xsb4202",
        "urb4202",
        "ueb4202",
        "uab4202",
    },
    ["Stealth_Field_Generator"] = {
        "xsb4203",
        "urb4203",
        "ueb4203",
        "uab4203",
    },
    ["Heavy_Shield_Generator"] = {
        "xsb4301",
        "ueb4301",
        "uab4301",
    },
    ["Strategic_Missile_Defense"] = {
        "xsb4302",
        "urb4302",
        "ueb4302",
        "uab4302",
    },
    ["Wall_Section"] = {
        "xsb5101",
        "urb5101",
        "ueb5101",
        "uab5101",
    },
    ["Aeon_Quantum_Gate_Beacon"] = {
        "uab5103",
    },
    ["Air_Staging"] = {
        "xsb5202",
        "urb5202",
        "ueb5202",
        "uab5202",
    },
    ["Sonar_Platform"] = {
        "urs0305",
        "ues0305",
        "uas0305",
    },
    ["Rapid_Fire_Artillery_Installation"] = {
        "xab2307",
    },
    ["Quantum_Optics_Facility"] = {
        "xab3301",
    },
    ["Engineering_Station"] = {
        "xrb0104",
        "xeb0104",
    },
    ["Heavy_Point_Defense"] = {
        "xeb2306",
    },
    ["Torpedo_Ambushing_System"] = {
        "xrb2308",
    },
    ["Perimeter_Monitoring_System"] = {
        "xrb3301",
    },
    ["T2_Guided_Missile"] = {
    "daa0206",
    },
    ["T3_Shield_Disruptor"] = {
    "dal0310",
    },
    ["T2_Fighter/Bomber"] = {
        "dea0202",
        "dra0202",
        "xsa0202",
    },
    ["T2_Gatling_Bot"] = {
        "del0204",
    },
    ["T2_Rocket_Bot"] = {
        "drl0204",
    },
    ["T1_Air_Scout"] = {
        "uaa0101",
        "uea0101",
        "ura0101",
        "xsa0101",
    },
    ["T1_Interceptor"] = {
        "uaa0102",
        "uea0102",
        "ura0102",
        "xsa0102",
    },
    ["T1_Attack_Bomber"] = {
        "uaa0103",
        "uea0103",
        "ura0103",
        "xsa0103",
    },
    ["T2_Air_Transport"] = {
        "uaa0104",
        "uea0104",
        "ura0104",
        "xsa0104",
    },
    ["T1_Light_Air_Transport"] = {
        "uaa0107",
        "uea0107",
        "ura0107",
        "xsa0107",
    },
    ["T2_Gunship"] = {
        "uaa0203",
        "uea0203",
        "ura0203",
        "xsa0203",
    },
    ["T2_Torpedo_Bomber"] = {
        "uaa0204",
        "uea0204",
        "ura0204",
        "xsa0204",
    },
    ["T3_Spy_Plane"] = {
        "uaa0302",
        "uea0302",
        "ura0302",
        "xsa0302",
    },
    ["T3_Air_Superiority_Fighter"] = {
        "uaa0303",
        "uea0303",
        "ura0303",
        "xsa0303",
    },
    ["T3_Strategic_Bomber"] = {
        "uaa0304",
        "uea0304",
        "ura0304",
        "xsa0304",
    },
    ["T1_Land_Scout"] = {
        "ual0101",
        "uel0101",
        "url0101",
    },
    ["T1_Mobile_Light_Artillery"] = {
        "ual0103",
        "uel0103",
        "url0103",
        "xsl0103",
    },
    ["T1_Mobile_Anti_Air_Gun"] = {
        "ual0104",
        "uel0104",
        "url0104",
        "xsl0104",
    },
    ["T1_Engineer"] = {
        "ual0105",
        "uel0105",
        "url0105",
        "xsl0105",
    },
    ["T1_Light_Assault_Bot"] = {
        "ual0106",
        "uel0106",
        "url0106",
    },
    ["T2_Mobile_Missile_Launcher"] = {
        "ual0111",
        "uel0111",
        "url0111",
        "xsl0111",
    },
    ["T1_Tank"] = {
        "ual0201",
        "uel0201",
        "xsl0201",
    },
    ["T2_Heavy_Tank"] = {
        "ual0202",
        "uel0202",
        "url0202",
    },
    ["T2_Mobile_AA_Flak_Artillery"] = {
        "ual0205",
        "uel0205",
        "url0205",
    },
    ["T3_Mobile_AA"] = {
        "dalk003",
        "delk002",
        "drlk001",
        "dslk004",
    },
    ["T2_Engineer"] = {
        "ual0208",
        "uel0208",
        "url0208",
        "xsl0208",
    },
    ["T3_Tank"] = {
        "ual0303",
        "uel0303",
    },
    ["T3_Mobile_Heavy_Artillery"] = {
        "ual0304",
        "uel0304",
        "url0304",
        "xsl0304",
    },
    ["T2_Mobile_Shield_Generator"] = {
        "ual0307",
        "uel0307",
    },
    ["T3_Engineer"] = {
        "ual0309",
        "uel0309",
        "url0309",
        "xsl0309",
    },
    ["T1_Attack_Boat"] = {
        "uas0102",
    },
    ["T1_Frigate"] = {
        "uas0103",
        "ues0103",
        "urs0103",
        "xss0103",
    },
    ["T2_Destroyer"] = {
        "uas0201",
        "ues0201",
        "urs0201",
        "xss0201",
    },
    ["T2_Cruiser"] = {
        "uas0202",
        "ues0202",
        "urs0202",
        "xss0202",
    },
    ["T1_Attack_Submarine"] = {
        "uas0203",
        "ues0203",
        "urs0203",
        "xss0203",
    },
    ["T3_Battleship"] = {
        "uas0302",
        "ues0302",
        "urs0302",
        "xss0302",
    },
    ["T3_Aircraft_Carrier"] = {
        "uas0303",
        "urs0303",
        "xss0303",
    },
    ["T3_Strategic_Missile_Submarine"] = {
        "uas0304",
        "ues0304",
        "urs0304",
    },
    ["T3_Heavy_Gunship"] = {
        "uea0305",
        "xra0305",
    },
    ["T2_Amphibious_Tank"] = {
        "uel0203",
        "url0203",
    },
    ["T1_Assault_Bot"] = {
        "url0107",
    },
    ["T3_Siege_Assault_Bot"] = {
        "url0303",
    },
    ["T2_Mobile_Stealth_Field_System"] = {
        "url0306",
    },
    ["T2_Combat_Fighter"] = {
        "xaa0202",
    },
    ["T3_AA_Gunship"] = {
        "xaa0305",
    },
    ["T3_Torpedo_Bomber"] = {
        "xaa0306",
    },
    ["T2_Assault_Tank"] = {
        "xal0203",
    },
    ["T3_Sniper_Bot"] = {
        "xal0305",
        "xsl0305",
    },
    ["T2_Submarine_Hunter"] = {
        "xas0204",
    },
    ["T3_Missile_Ship"] = {
        "xas0306",
    },
    ["T3_Heavy_Air_Transport"] = {
        "xea0306",
    },
    ["T2_Field_Engineer"] = {
        "xel0209",
    },
    ["T3_Armored_Assault_Bot"] = {
        "xel0305",
        "xrl0305",
    },
    ["T3_Mobile_Missile_Platform"] = {
        "xel0306",
    },
    ["T2_Torpedo_Boat"] = {
        "xes0102",
    },
    ["T2_Shield_Boat"] = {
        "xes0205",
    },
    ["T3_Battlecruiser"] = {
        "xes0307",
    },
    ["T1_Light_Gunship"] = {
        "xra0105",
    },
    ["T2_Mobile_Bomb"] = {
        "xrl0302",
    },
    ["T2_Submarine_Killer"] = {
        "xrs0204",
    },
    ["T2_Counter_Intelligence_Boat"] = {
        "xrs0205",
    },
    ["T1_Combat_Scout"] = {
        "xsl0101",
    },
    ["T2_Assault_Bot"] = {
        "xsl0202",
    },
    ["T2_Hover_Tank"] = {
        "xsl0203",
    },
    ["T2_Mobile_Anti_Air_Cannon"] = {
        "xsl0205",
    },
    ["T3_Siege_Tank"] = {
        "xsl0303",
    },
    ["T3_Mobile_Shield_Generator"] = {
        "xsl0307",
    },
    ["T3_Submarine_Hunter"] = {
        "xss0304",
    },
}


It could use some cleaning up, like bunching all T3 mainline tanks/bots together into one group, adding mantis to the T1 tanks, bunching up all T2 tanks according to their categories, removing all already existing code from FAF etc. So if somebody wants to make a proper mod out of this, here's the relevant part of the keydescriptions.lua:
Spoiler: show
Code: Select all
   -- GoodHotbuild

   ['builders'] = '<LOC key_desc_0256>build T1 Factories + T1 Engineers + Sacus',
    ['sensors'] = '<LOC key_desc_0257>build Sensors + T1 scouts',
    ['shields'] = '<LOC key_desc_0258>build Shields/stealth fields + T2 Mobile Shields/stealth fields + T2 Torpedo Bombers',
    ['tmd'] = '<LOC key_desc_0259>build Tactical Missiles Defense + T3 Spy Planes + Special units',
    ['xp'] = '<LOC key_desc_0260>build Experimentals + Mobile T3 Arty + Strats + Nuke Subs',
    ['mobilearty'] = '<LOC key_desc_0261>build T3 Factories + T3 Engineers',
    ['mass'] = '<LOC key_desc_0262>build Mass Extractors + T1 Mainline combat units',
    ['massfab'] = '<LOC key_desc_0263>build Mass fabricators + T2 Mobile AA + T2 Transports',
    ['pgen'] = '<LOC key_desc_0264>build Power Generators + T2 Mainline combat units',
    ['templates'] = '<LOC key_desc_0265>build Templates + T3 Mainline combat units',
    ['engystation'] = '<LOC key_desc_0266>build T2 Factories + T2 Engineers + Engineering Stations',
    ['mml'] = '<LOC key_desc_0267>build Energy Storage + T1 Mobile AA + T1 Transports',
    ['mobileshield'] = '<LOC key_desc_0268>build Air Staging + T3 Mobile AA + T3 Transport + T3 Torpedo Bomber',
    ['fieldengy'] = '<LOC key_desc_0269>build Mass Storage + Range bots + Sniper bots',
    ['defense'] = '<LOC key_desc_0270>build Point Defenses + T1 Raiders',
    ['aa'] = '<LOC key_desc_0271>build Anti Air + T2 Raiders',
    ['torpedo'] = '<LOC key_desc_0272>build Torpedo defenses + T3 Raiders',
    ['arties'] = '<LOC key_desc_0273>build T2 Arty + T1 Arty + T1 Bomber',
    ['tml'] = '<LOC key_desc_0274>build Tactical Missile Launchers + MMLs + T2 Bombers',
    ['upgrades'] = '<LOC key_desc_0275>Upgrade',


Or just get the Good Hotbuild mod
Last edited by JoonasTo on 05 Sep 2018, 17:36, edited 3 times in total.
User avatar
JoonasTo
Priest
 
Posts: 498
Joined: 08 Feb 2015, 01:11
Has liked: 18 times
Been liked: 81 times
FAF User Name: JoonasTo

Re: Hotkey Layouts

Postby speed2 » 11 Jan 2017, 19:51

Image
User avatar
speed2
Contributor
 
Posts: 3189
Joined: 05 Jan 2013, 15:11
Has liked: 636 times
Been liked: 1119 times
FAF User Name: speed2

Re: Hotkey Layouts + Hotbuild Chains

Postby JoonasTo » 19 Aug 2017, 02:20

I modded the hotbuild chains to have even some semblance of sanity. Ended up with this, I think it turned out pretty well.

The idea here is that it works on associations in the same key, category inside the line and tech level in the same row. This way it is natural to use and easy to remember.

Image

Factions special units includes Shield Disruptor, Mobile Bomb, T3 Mobile Shield and T3 Mobile Missile Launcher. So that and Range bot key are breaking the tech per line but because of how factions the factional units are laid out, it's necessary.
Cruisers and Fighter/Bombers do indeed have two keys assigned to them. Both associations were logical for them.
I also added Salvation to the end of the Experimentals Hotbuild chain.
Torpedo bombers suck, I know.

Feel free to switch the lines and rows around however you like but if you wish to keep the logic of the system, never change single keys independently of their line or row on their own.

There is also no reason why you couldn't run these with modifiers, I myself have R,T,Y lines and ALT+R,T,Y, lines assigned to the grid. I'll update the opening post picture with this when I have time.

Here's the unitkeygroups.lua code to make this happen:
Spoiler: show
Code: Select all
unitkeygroups = {
   ["Builders"] = {
        "Land_Factory",
        "Air_Factory",
        "Naval_Factory",
        "T1_Engineer",
        "url0301", -- sACUs
        "ual0301",
        "uel0301",
        "xsl0301",
    },
    ["Sensors"] = {
        "Omni_Sensor",
        "Radar_System",
        "Sonar_Platform",
        "Sonar_System",
        "Perimeter_Monitoring_System",
        "Quantum_Optics_Facility",
      
        "T1_Land_Scout",
      
        "T1_Combat_Scout",
      
        "T1_Air_Scout",
    },
    ["Shields"] = {
        "Heavy_Shield_Generator",
        "Shield_Generator",
        "Stealth_Field_Generator",
      
        "T2_Mobile_Shield_Generator",
        "T2_Mobile_Stealth_Field_System",
      
      "T2_Torpedo_Bomber",
      
        "T2_Counter_Intelligence_Boat",
        "T2_Shield_Boat",
    },
    ["TMD"] = {
        "Tactical_Missile_Defense",
        "Strategic_Missile_Defense",
      
      "T2_Mobile_Bomb",
      "T3_Shield_Disruptor",
        "T3_Mobile_Shield_Generator",
        "T3_Mobile_Missile_Platform",
      
        "T3_Spy_Plane",
      
        "T3_Missile_Ship",
    },
    ["XP"] = {
        "Experimental",
      
        "T3_Mobile_Heavy_Artillery",
      
        "T3_Strategic_Bomber",
      
        "T3_Strategic_Missile_Submarine",
    },
    ["Mobilearty"] = {
      "T3_Support_Land_Factory",
        "T3_Support_Air_Factory",
        "T3_Support_Naval_Factory",
        "Quantum_Gateway",

        "T3_Engineer",
    },
    ["Mass"] = {
        "Mass_Extractor",
      
        "T1_Tank",
        "T1_Assault_Bot", -- Mantis
      
        "T1_Interceptor",
      
        "T1_Frigate",
    },
    ["MassFab"] = {
        "Mass_Fabricator",
      
        "T2_Mobile_Anti_Air_Cannon",
        "T2_Mobile_AA_Flak_Artillery",
      
        "T2_Air_Transport",
      
        "T2_Cruiser",
    },
    ["Pgen"] = {
        "Power_Generator",
        "Hydrocarbon_Power_Plant",
      
        "T2_Heavy_Tank",
        "T2_Assault_Bot",
      
        "T2_Combat_Fighter",
        "T2_Fighter/Bomber",
      
        "T2_Destroyer",
    },
    ["Templates"] = {
        "_templates", -- Special :)
      
        "ual0303", -- Harbinger
        "xrl0305", -- Brick
        "xel0305", -- Percival
        "xsl0303", -- Seraphim Tank
      
        "T3_Air_Superiority_Fighter",
      
        "T3_Battleship",
    },
    ["EngyStation"] = {
      "T2_Support_Land_Factory",
        "T2_Support_Air_Factory",
        "T2_Support_Naval_Factory",
        "Engineering_Station",
      
        "T2_Engineer",
    },
    ["MML"] = {
      "Energy_Storage",
      
        "T1_Mobile_Anti_Air_Gun",
      
        "T1_Light_Air_Transport",
      
        "T1_Attack_Boat", -- Aeon only
    },
    ["MobileShield"] = {
        "Air_Staging",
      
        "T3_Mobile_AA",
      
        "T3_Heavy_Air_Transport",
        "T3_Torpedo_Bomber",
      
        "T3_Aircraft_Carrier",
    },
    ["FieldEngy"] = {
      "Mass_Storage",
   
        "T2_Gatling_Bot",
        "T2_Rocket_Bot",
        "T3_Sniper_Bot",
    },
    ["Defense"] = {
        "Heavy_Point_Defense",
        "Point_Defense",
        "Wall_Section",
      
        "T1_Light_Assault_Bot",
      
        "T1_Light_Gunship",
      
        "T1_Attack_Submarine",
    },
    ["AA"] = {
        "Anti_Air",
      
        "T2_Hover_Tank",
        "T2_Amphibious_Tank",
        "T2_Assault_Tank",
      
        "T2_Gunship",
      
        "T2_Submarine_Hunter",
        "T2_Torpedo_Boat",
        "T2_Submarine_Killer",
    },
    ["Torpedo"] = {
        "Torpedo_Ambushing_System",
        "Torpedo_Launcher",
      
        "url0303", -- Loyalist
        "uel0303", -- Titan
      
        "T3_Heavy_Gunship",
        "T3_AA_Gunship",
      
        "T3_Submarine_Hunter",
        "T3_Battlecruiser",
    },
    ["Arties"] = {
        "Artillery_Installation",
        "Heavy_Artillery_Installation",
      
        "T1_Mobile_Light_Artillery",
      
        "T1_Attack_Bomber",
    },
    ["TML"] = {
        "Tactical_Missile_Launcher",
        "Strategic_Missile_Launcher",
      
        "T2_Mobile_Missile_Launcher",
   
        "T2_Fighter/Bomber",
        "T2_Guided_Missile",
      
        "T2_Cruiser",
    },
    ["Upgrades"] = {
        "_upgrade",
    },
    -- Buildings
    ["Experimental"] = {
        -- Aeon
        "ual0401", -- Galactic Colossus
        "uaa0310", -- Czar
        "uas0401", -- Tempest
        "xab1401", -- Paragon
      "xab2307", -- Salvation
        -- Cyb
        "url0402", -- Monkeylord
        "xrl0403", -- Megalith
        "url0401", -- Scathis
        "ura0401", -- Soulripper
        -- UEF
        "uel0401", -- Fatboy
        "ues0401", -- Atlantis
        "xeb2402", -- Novax
        "ueb2401", -- Mavor
        -- Sera
        "xsl0401", -- Ythotha
        "xsa0402", -- Bomber
        "xsb2401", -- SML
    },
    ["Land_Factory"] = {
        "xsb0101",
        "urb0101",
        "ueb0101",
        "uab0101",
    },
    ["Air_Factory"] = {
        "xsb0102",
        "urb0102",
        "ueb0102",
        "uab0102",
    },
    ["Naval_Factory"] = {
        "xsb0103",
        "urb0103",
        "ueb0103",
        "uab0103",
    },
    ["T2_Support_Factory"] = {
        "T2_Support_Land_Factory",
        "T2_Support_Air_Factory",
        "T2_Support_Naval_Factory",
    },
    ["T3_Support_Factory"] = {
        "T3_Support_Land_Factory",
        "T3_Support_Air_Factory",
        "T3_Support_Naval_Factory",
    },
    ["T2_Support_Land_Factory"] = {
        "zsb9501",
        "zrb9501",
        "zeb9501",
        "zab9501",
    },
    ["T2_Support_Air_Factory"] = {
        "zsb9502",
        "zrb9502",
        "zeb9502",
        "zab9502",
    },
    ["T2_Support_Naval_Factory"] = {
        "zsb9503",
        "zrb9503",
        "zeb9503",
        "zab9503",
    },
    ["T3_Support_Land_Factory"] = {
        "zsb9601",
        "zrb9601",
        "zeb9601",
        "zab9601",
    },
    ["T3_Support_Air_Factory"] = {
        "zsb9602",
        "zrb9602",
        "zeb9602",
        "zab9602",
    },
    ["T3_Support_Naval_Factory"] = {
        "zsb9603",
        "zrb9603",
        "zeb9603",
        "zab9603",
    },
    ["Quantum_Gateway"] = {
        "xsb0304",
        "urb0304",
        "ueb0304",
        "uab0304",
    },
    ["Power_Generator"] = {
        "xsb1301",
        "xsb1201",
        "xsb1101",
        "urb1301",
        "urb1201",
        "urb1101",
        "ueb1301",
        "ueb1201",
        "ueb1101",
        "uab1301",
        "uab1201",
        "uab1101",
    },
    ["Hydrocarbon_Power_Plant"] = {
        "xsb1102",
        "urb1102",
        "ueb1102",
        "uab1102",
    },
    ["Mass_Extractor"] = {
        "xsb1302",
        "xsb1202",
        "xsb1103",
        "urb1302",
        "urb1202",
        "urb1103",
        "ueb1302",
        "ueb1202",
        "ueb1103",
        "uab1302",
        "uab1202",
        "uab1103",
    },
    ["Mass_Fabricator"] = {
        "xsb1303",
        "xsb1104",
        "urb1303",
        "urb1104",
        "ueb1303",
        "ueb1104",
        "uab1303",
        "uab1104",
    },
    ["Energy_Storage"] = {
        "xsb1105",
        "urb1105",
        "ueb1105",
        "uab1105",
    },
    ["Mass_Storage"] = {
        "xsb1106",
        "urb1106",
        "ueb1106",
        "uab1106",
    },
    ["Point_Defense"] = {
        "xsb2301",
        "xsb2101",
        "urb2301",
        "urb2101",
        "ueb2301",
        "ueb2101",
        "uab2301",
        "uab2101",
    },
    ["Anti_Air"] = {
        "xsb2304",
        "xsb2204",
        "xsb2104",
        "urb2304",
        "urb2204",
        "urb2104",
        "ueb2304",
        "ueb2204",
        "ueb2104",
        "uab2304",
        "uab2204",
        "uab2104",
    },
    ["Tactical_Missile_Launcher"] = {
        "xsb2108",
        "urb2108",
        "ueb2108",
        "uab2108",
    },
    ["Torpedo_Launcher"] = {
        "xsb2205",
        "xsb2109",
        "urb2205",
        "urb2109",
        "ueb2205",
        "ueb2109",
        "uab2205",
        "uab2109",
    },
    ["Heavy_Artillery_Installation"] = {
        "xsb2302",
        "urb2302",
        "ueb2302",
        "uab2302",
    },
    ["Artillery_Installation"] = {
        "xsb2303",
        "urb2303",
        "ueb2303",
        "uab2303",
    },
    ["Strategic_Missile_Launcher"] = {
        "xsb2305",
        "urb2305",
        "ueb2305",
        "uab2305",
    },
    ["Radar_System"] = {
        "xsb3201",
        "xsb3101",
        "urb3201",
        "urb3101",
        "ueb3201",
        "ueb3101",
        "uab3201",
        "uab3101",
    },
    ["Sonar_System"] = {
        "xsb3202",
        "xsb3102",
        "urb3202",
        "urb3102",
        "ueb3202",
        "ueb3102",
        "uab3202",
        "uab3102",
    },
    ["Omni_Sensor"] = {
        "xsb3104",
        "urb3104",
        "ueb3104",
        "uab3104",
    },
    ["Tactical_Missile_Defense"] = {
        "xsb4201",
        "urb4201",
        "ueb4201",
        "uab4201",
    },
    ["Shield_Generator"] = {
        "xsb4202",
        "urb4202",
        "ueb4202",
        "uab4202",
    },
    ["Stealth_Field_Generator"] = {
        "xsb4203",
        "urb4203",
        "ueb4203",
        "uab4203",
    },
    ["Heavy_Shield_Generator"] = {
        "xsb4301",
        "ueb4301",
        "uab4301",
    },
    ["Strategic_Missile_Defense"] = {
        "xsb4302",
        "urb4302",
        "ueb4302",
        "uab4302",
    },
    ["Wall_Section"] = {
        "xsb5101",
        "urb5101",
        "ueb5101",
        "uab5101",
    },
    ["Aeon_Quantum_Gate_Beacon"] = {
        "uab5103",
    },
    ["Air_Staging"] = {
        "xsb5202",
        "urb5202",
        "ueb5202",
        "uab5202",
    },
    ["Sonar_Platform"] = {
        "urs0305",
        "ues0305",
        "uas0305",
    },
    ["Rapid_Fire_Artillery_Installation"] = {
        "xab2307",
    },
    ["Quantum_Optics_Facility"] = {
        "xab3301",
    },
    ["Engineering_Station"] = {
        "xrb0104",
        "xeb0104",
    },
    ["Heavy_Point_Defense"] = {
        "xeb2306",
    },
    ["Torpedo_Ambushing_System"] = {
        "xrb2308",
    },
    ["Perimeter_Monitoring_System"] = {
        "xrb3301",
    },
    ["T2_Guided_Missile"] = {
    "daa0206",
    },
    ["T3_Shield_Disruptor"] = {
    "dal0310",
    },
    ["T2_Fighter/Bomber"] = {
        "dea0202",
        "dra0202",
        "xsa0202",
    },
    ["T2_Gatling_Bot"] = {
        "del0204",
    },
    ["T2_Rocket_Bot"] = {
        "drl0204",
    },
    ["T1_Air_Scout"] = {
        "uaa0101",
        "uea0101",
        "ura0101",
        "xsa0101",
    },
    ["T1_Interceptor"] = {
        "uaa0102",
        "uea0102",
        "ura0102",
        "xsa0102",
    },
    ["T1_Attack_Bomber"] = {
        "uaa0103",
        "uea0103",
        "ura0103",
        "xsa0103",
    },
    ["T2_Air_Transport"] = {
        "uaa0104",
        "uea0104",
        "ura0104",
        "xsa0104",
    },
    ["T1_Light_Air_Transport"] = {
        "uaa0107",
        "uea0107",
        "ura0107",
        "xsa0107",
    },
    ["T2_Gunship"] = {
        "uaa0203",
        "uea0203",
        "ura0203",
        "xsa0203",
    },
    ["T2_Torpedo_Bomber"] = {
        "uaa0204",
        "uea0204",
        "ura0204",
        "xsa0204",
    },
    ["T3_Spy_Plane"] = {
        "uaa0302",
        "uea0302",
        "ura0302",
        "xsa0302",
    },
    ["T3_Air_Superiority_Fighter"] = {
        "uaa0303",
        "uea0303",
        "ura0303",
        "xsa0303",
    },
    ["T3_Strategic_Bomber"] = {
        "uaa0304",
        "uea0304",
        "ura0304",
        "xsa0304",
    },
    ["T1_Land_Scout"] = {
        "ual0101",
        "uel0101",
        "url0101",
    },
    ["T1_Mobile_Light_Artillery"] = {
        "ual0103",
        "uel0103",
        "url0103",
        "xsl0103",
    },
    ["T1_Mobile_Anti_Air_Gun"] = {
        "ual0104",
        "uel0104",
        "url0104",
        "xsl0104",
    },
    ["T1_Engineer"] = {
        "ual0105",
        "uel0105",
        "url0105",
        "xsl0105",
    },
    ["T1_Light_Assault_Bot"] = {
        "ual0106",
        "uel0106",
        "url0106",
    },
    ["T2_Mobile_Missile_Launcher"] = {
        "ual0111",
        "uel0111",
        "url0111",
        "xsl0111",
    },
    ["T1_Tank"] = {
        "ual0201",
        "uel0201",
        "xsl0201",
    },
    ["T2_Heavy_Tank"] = {
        "ual0202",
        "uel0202",
        "url0202",
    },
    ["T2_Mobile_AA_Flak_Artillery"] = {
        "ual0205",
        "uel0205",
        "url0205",
    },
    ["T3_Mobile_AA"] = {
        "dalk003",
        "delk002",
        "drlk001",
        "dslk004",
    },
    ["T2_Engineer"] = {
        "ual0208",
        "uel0208",
        "url0208",
        "xsl0208",
    },
    ["T3_Tank"] = {
        "ual0303",
        "uel0303",
    },
    ["T3_Mobile_Heavy_Artillery"] = {
        "ual0304",
        "uel0304",
        "url0304",
        "xsl0304",
    },
    ["T2_Mobile_Shield_Generator"] = {
        "ual0307",
        "uel0307",
    },
    ["T3_Engineer"] = {
        "ual0309",
        "uel0309",
        "url0309",
        "xsl0309",
    },
    ["T1_Attack_Boat"] = {
        "uas0102",
    },
    ["T1_Frigate"] = {
        "uas0103",
        "ues0103",
        "urs0103",
        "xss0103",
    },
    ["T2_Destroyer"] = {
        "uas0201",
        "ues0201",
        "urs0201",
        "xss0201",
    },
    ["T2_Cruiser"] = {
        "uas0202",
        "ues0202",
        "urs0202",
        "xss0202",
    },
    ["T1_Attack_Submarine"] = {
        "uas0203",
        "ues0203",
        "urs0203",
        "xss0203",
    },
    ["T3_Battleship"] = {
        "uas0302",
        "ues0302",
        "urs0302",
        "xss0302",
    },
    ["T3_Aircraft_Carrier"] = {
        "uas0303",
        "urs0303",
        "xss0303",
    },
    ["T3_Strategic_Missile_Submarine"] = {
        "uas0304",
        "ues0304",
        "urs0304",
    },
    ["T3_Heavy_Gunship"] = {
        "uea0305",
        "xra0305",
    },
    ["T2_Amphibious_Tank"] = {
        "uel0203",
        "url0203",
    },
    ["T1_Assault_Bot"] = {
        "url0107",
    },
    ["T3_Siege_Assault_Bot"] = {
        "url0303",
    },
    ["T2_Mobile_Stealth_Field_System"] = {
        "url0306",
    },
    ["T2_Combat_Fighter"] = {
        "xaa0202",
    },
    ["T3_AA_Gunship"] = {
        "xaa0305",
    },
    ["T3_Torpedo_Bomber"] = {
        "xaa0306",
    },
    ["T2_Assault_Tank"] = {
        "xal0203",
    },
    ["T3_Sniper_Bot"] = {
        "xal0305",
        "xsl0305",
    },
    ["T2_Submarine_Hunter"] = {
        "xas0204",
    },
    ["T3_Missile_Ship"] = {
        "xas0306",
    },
    ["T3_Heavy_Air_Transport"] = {
        "xea0306",
    },
    ["T2_Field_Engineer"] = {
        "xel0209",
    },
    ["T3_Armored_Assault_Bot"] = {
        "xel0305",
        "xrl0305",
    },
    ["T3_Mobile_Missile_Platform"] = {
        "xel0306",
    },
    ["T2_Torpedo_Boat"] = {
        "xes0102",
    },
    ["T2_Shield_Boat"] = {
        "xes0205",
    },
    ["T3_Battlecruiser"] = {
        "xes0307",
    },
    ["T1_Light_Gunship"] = {
        "xra0105",
    },
    ["T2_Mobile_Bomb"] = {
        "xrl0302",
    },
    ["T2_Submarine_Killer"] = {
        "xrs0204",
    },
    ["T2_Counter_Intelligence_Boat"] = {
        "xrs0205",
    },
    ["T1_Combat_Scout"] = {
        "xsl0101",
    },
    ["T2_Assault_Bot"] = {
        "xsl0202",
    },
    ["T2_Hover_Tank"] = {
        "xsl0203",
    },
    ["T2_Mobile_Anti_Air_Cannon"] = {
        "xsl0205",
    },
    ["T3_Siege_Tank"] = {
        "xsl0303",
    },
    ["T3_Mobile_Shield_Generator"] = {
        "xsl0307",
    },
    ["T3_Submarine_Hunter"] = {
        "xss0304",
    },
}


It could use some cleaning up, like bunching all T3 mainline tanks/bots together into one group, adding mantis to the T1 tanks, bunching up all T2 tanks according to their categories, removing all already existing code from FAF etc. So if somebody wants to make a proper mod out of this, here's the relevant part of the keydescriptions.lua:
Spoiler: show
Code: Select all
   -- GoodHotbuild

   ['builders'] = '<LOC key_desc_0256>build T1 Factories + T1 Engineers + Sacus',
    ['sensors'] = '<LOC key_desc_0257>build Sensors + T1 scouts',
    ['shields'] = '<LOC key_desc_0258>build Shields/stealth fields + T2 Mobile Shields/stealth fields + T2 Torpedo Bombers',
    ['tmd'] = '<LOC key_desc_0259>build Tactical Missiles Defense + T3 Spy Planes + Special units',
    ['xp'] = '<LOC key_desc_0260>build Experimentals + Mobile T3 Arty + Strats + Nuke Subs',
    ['mobilearty'] = '<LOC key_desc_0261>build T3 Factories + T3 Engineers',
    ['mass'] = '<LOC key_desc_0262>build Mass Extractors + T1 Mainline combat units',
    ['massfab'] = '<LOC key_desc_0263>build Mass fabricators + T2 Mobile AA + T2 Transports',
    ['pgen'] = '<LOC key_desc_0264>build Power Generators + T2 Mainline combat units',
    ['templates'] = '<LOC key_desc_0265>build Templates + T3 Mainline combat units',
    ['engystation'] = '<LOC key_desc_0266>build T2 Factories + T2 Engineers + Engineering Stations',
    ['mml'] = '<LOC key_desc_0267>build Energy Storage + T1 Mobile AA + T1 Transports',
    ['mobileshield'] = '<LOC key_desc_0268>build Air Staging + T3 Mobile AA + T3 Transport + T3 Torpedo Bomber',
    ['fieldengy'] = '<LOC key_desc_0269>build Mass Storage + Range bots + Sniper bots',
    ['defense'] = '<LOC key_desc_0270>build Point Defenses + T1 Raiders',
    ['aa'] = '<LOC key_desc_0271>build Anti Air + T2 Raiders',
    ['torpedo'] = '<LOC key_desc_0272>build Torpedo defenses + T3 Raiders',
    ['arties'] = '<LOC key_desc_0273>build T2 Arty + T1 Arty + T1 Bomber',
    ['tml'] = '<LOC key_desc_0274>build Tactical Missile Launchers + MMLs + T2 Bombers',
    ['upgrades'] = '<LOC key_desc_0275>Upgrade',
Last edited by JoonasTo on 28 Aug 2017, 01:08, edited 1 time in total.
User avatar
JoonasTo
Priest
 
Posts: 498
Joined: 08 Feb 2015, 01:11
Has liked: 18 times
Been liked: 81 times
FAF User Name: JoonasTo

Re: Hotkey Layouts

Postby JoonasTo » 19 Aug 2017, 12:24

Image

So here's the updated keybinds on a keyboard. It's evolved a bit in other areas too.

And here's the necessary code from game.prefs
Spoiler: show
Code: Select all
            UserKeyMap = {
                Tab = 'pause_unit',
                ['Ctrl-Shift-4'] = 'Go to camera position 4',
                ['Ctrl-Shift-D'] = 'select_all_land_factories',
                End = 'split_screen_disable',
                ['Ctrl-Alt-5'] = 'set_group0',
                ['Alt-UpArrow'] = 'switch_layout_up',
                ['Ctrl-2'] = 'set_group2',
                F2 = 'ping_move',
                ['Shift-Alt-D'] = 'shift_ferry',
                ['Ctrl-Alt-4'] = 'set_group9',
                ['Ctrl-Alt-Shift-3'] = 'Set camera position 3',
                ['Shift-1'] = 'append_group1',
                PageUp = 'chat_page_up',
                ['Shift-3'] = 'append_group3',
                ['Ctrl-N'] = 'rename',
                ['Shift-Z'] = 'shift_spreadattack',
                ['Ctrl-Shift-CapsLock'] = 'select_nearest_factory',
                ['Ctrl-5'] = 'set_group5',
                ['Alt-Shift-2'] = 'append_group7',
                ['Ctrl-Z'] = 'select_all_units_of_same_type',
                ['Shift-5'] = 'append_group5',
                Backslash = 'mode',
                ['Alt-LeftArrow'] = 'switch_skin_down',
                ['Shift-4'] = 'append_group4',
                ['Ctrl-C'] = 'select_all_antinavy_subs',
                ['Alt-DownArrow'] = 'switch_layout_down',
                ['Ctrl-W'] = 'select_commander',
                ['Shift-Alt-S'] = 'shift_dive',
                ['1'] = 'group1',
                ['3'] = 'group3',
                ['2'] = 'group2',
                ['5'] = 'group5',
                ['4'] = 'group4',
                ['Ctrl-H'] = 'select_air_transport',
                Pause = 'pause',
                A = 'attack',
                ['Alt-Shift-4'] = 'append_group9',
                B = 'tmd',
                ['Ctrl-3'] = 'set_group3',
                D = 'transport',
                G = 'pgen',
                F = 'engystation',
                ['Shift-PageDown'] = 'chat_line_down',
                Home = 'split_screen_enable',
                ['Alt-2'] = 'group7',
                ['Alt-Q'] = 'move',
                Q = 'patrol',
                S = 'soft_stop',
                R = 'builders',
                ['Alt-F2'] = 'debug_create_unit',
                ['Ctrl-4'] = 'set_group4',
                W = 'overcharge',
                V = 'templates',
                Y = 'sensors',
                ['Shift-Q'] = 'shift_patrol',
                Z = 'toggle_repeat_build',
                ['Ctrl-Y'] = 'select_nearest_idle_airscout',
                ['Ctrl-Shift-2'] = 'Go to camera position 2',
                ['Shift-X'] = 'shift_guard',
                ['Shift-Alt-A'] = 'shift_launch_tactical',
                ['Ctrl-Alt-Shift-4'] = 'Set camera position 4',
                ['Ctrl-Alt-3'] = 'set_group8',
                ['Ctrl-D'] = 'select_land',
                ['Ctrl-Alt-1'] = 'set_group6',
                ['Alt-T'] = 'arties',
                ['Ctrl-Q'] = 'select_anti_air_fighters',
                ['Ctrl-G'] = 'select_bombers',
                ['Alt-E'] = 'capture',
                F12 = 'show_network_stats',
                F11 = 'toggle_disconnect_screen',
                ['Ctrl-X'] = 'select_all',
                ['Ctrl-Shift-S'] = 'select_all_naval_factories',
                ['Shift-Alt-E'] = 'shift_capture',
                ['Alt-G'] = 'tml',
                ['Alt-Shift-1'] = 'append_group6',
                F10 = 'toggle_main_menu',
                ['Shift-Alt-X'] = 'shift_repair',
                F1 = 'ping_alert',
                NumStar = 'reset_game_speed',
                Slash = 'nuke',
                ['Ctrl-Shift-1'] = 'Go to camera position 1',
                ['Ctrl-Shift-3'] = 'Go to camera position 3',
                F9 = 'toggle_key_bindings',
                ['Ctrl-Alt-Shift-2'] = 'Set camera position 2',
                ['Ctrl-A'] = 'select_air_no_transport',
                ['Ctrl-E'] = 'select_all_eng_onscreen',
                ['Alt-A'] = 'launch_tactical',
                ['Alt-F'] = 'aa',
                F4 = 'ping_marker',
                CapsLock = 'add_nearest_idle_engineers_seq',
                ['Ctrl-S'] = 'select_naval_nosonar',
                ['Shift-D'] = 'shift_transport',
                NumPlus = 'increase_game_speed',
                ['Alt-V'] = 'xp',
                ['Ctrl-V'] = 'select_all_battleships',
                ['Shift-S'] = 'shift_stop',
                ['Alt-4'] = 'group9',
                E = 'reclaim',
                ['Shift-E'] = 'shift_reclaim',
                ['Ctrl-1'] = 'set_group1',
                ['Ctrl-Alt-2'] = 'set_group7',
                F3 = 'ping_attack',
                ['Alt-R'] = 'defense',
                ['Alt-1'] = 'group6',
                ['Ctrl-Shift-F'] = 'select_all_factory_onscreen',
                ['Ctrl-T'] = 'select_all_land_directfire',
                ['Shift-Delete'] = 'suicide',
                T = 'mass',
                ['Ctrl-R'] = 'select_engineers',
                ['Alt-C'] = 'torpedo',
                ['Ctrl-Alt-Shift-5'] = 'Set camera position 5',
                ['Ctrl-F'] = 'select_gunships',
                F8 = 'toggle_diplomacy_screen',
                Space = 'upgrades',
                ['Alt-3'] = 'group8',
                ['Alt-D'] = 'ferry',
                ['Shift-2'] = 'append_group2',
                ['Alt-Z'] = 'teleport',
                ['Ctrl-K'] = 'Kill_Selected_Units',
                ['Shift-CapsLock'] = 'select_all_idle_eng_onscreen',
                PageDown = 'chat_page_down',
                ['Alt-B'] = 'mobileshield',
                ['Alt-Y'] = 'mml',
                C = 'mobilearty',
                X = 'guard',
                ['Ctrl-Shift-5'] = 'Go to camera position 5',
                NumSlash = 'show_fps',
                ['Shift-Slash'] = 'shift_nuke',
                ['Alt-RightArrow'] = 'switch_skin_up',
                ['Shift-A'] = 'shift_attack',
                ['Ctrl-Shift-A'] = 'select_all_air_factories',
                ['Shift-Alt-Q'] = 'shift_move',
                ['Alt-H'] = 'massfab',
                NumMinus = 'decrease_game_speed',
                ['Alt-W'] = 'toggle_all',
                ['Alt-Shift-5'] = 'append_group0',
                ['Alt-Shift-3'] = 'append_group8',
                ['Shift-W'] = 'shift_overcharge',
                ['Alt-5'] = 'group0',
                ['Alt-S'] = 'dive',
                ['Shift-PageUp'] = 'chat_line_up',
                ['Alt-X'] = 'repair',
                H = 'shields',
                J = 'fieldengy',
                ['Ctrl-Alt-Shift-1'] = 'Set camera position 1',
                ['Ctrl-CapsLock'] = 'cycle_idle_factories'
            },
User avatar
JoonasTo
Priest
 
Posts: 498
Joined: 08 Feb 2015, 01:11
Has liked: 18 times
Been liked: 81 times
FAF User Name: JoonasTo

Re: Hotkey Layouts

Postby nine2 » 27 Sep 2017, 16:33

Image
edit: all keys are mapped to ctrl-k
nine2
Councillor - Promotion
 
Posts: 2416
Joined: 16 Apr 2013, 10:10
Has liked: 285 times
Been liked: 515 times
FAF User Name: Anihilnine

Re: Hotkey Layouts

Postby JoonasTo » 30 Aug 2018, 21:52

Newest set:

Spoiler: show
Code: Select all
            UserKeyMap = {
                Tab = 'pause_unit',
                ['Ctrl-Shift-4'] = 'Go to camera position 4',
                ['Ctrl-Alt-E'] = 'all_engineer',
                ['Ctrl-Shift-D'] = 'select_all_land_factories',
                ['Ctrl-Alt-D'] = 'select_land',
                End = 'split_screen_disable',
                ['Ctrl-Alt-5'] = 'set_group0',
                ['Alt-UpArrow'] = 'switch_layout_up',
                ['Ctrl-2'] = 'set_group2',
                F2 = 'ping_move',
                ['Ctrl-Alt-X'] = 'select_all',
                ['Shift-Alt-D'] = 'shift_ferry',
                ['Ctrl-Alt-4'] = 'set_group9',
                ['Ctrl-Alt-Shift-3'] = 'Set camera position 3',
                ['Shift-1'] = 'fac_group1',
                PageUp = 'chat_page_up',
                ['Shift-3'] = 'fac_group3',
                ['Ctrl-N'] = 'rename',
                ['Shift-Z'] = 'shift_spreadattack',
                ['Shift-Delete'] = 'suicide',
                ['Ctrl-5'] = 'set_group5',
                ['Ctrl-Alt-A'] = 'select_air_no_transport',
                ['Alt-Shift-2'] = 'fac_group7',
                ['Ctrl-Z'] = 'select_all_units_of_same_type',
                ['Shift-5'] = 'fac_group5',
                Backslash = 'Toggle Unit Lock',
                ['Ctrl-Shift-Z'] = 'Shift Spread Move',
                ['Alt-LeftArrow'] = 'switch_skin_down',
                ['Shift-4'] = 'fac_group4',
                ['Alt-4'] = 'group9',
                ['Shift-PageUp'] = 'chat_line_up',
                ['Ctrl-W'] = 'select_commander',
                ['Shift-W'] = 'shift_overcharge',
                ['1'] = 'group1',
                ['3'] = 'group3',
                ['2'] = 'group2',
                ['5'] = 'group5',
                F4 = 'ping_marker',
                ['Ctrl-H'] = 'select_air_transport',
                Pause = 'pause',
                A = 'attack',
                C = 'mobilearty',
                B = 'tmd',
                ['Ctrl-3'] = 'set_group3',
                D = 'transport',
                G = 'pgen',
                F = 'engystation',
                ['Shift-PageDown'] = 'chat_line_down',
                Home = 'split_screen_enable',
                ['Alt-2'] = 'group7',
                L = 'zoom_pop',
                ['Alt-Q'] = 'patrol',
                ['Alt-F'] = 'aa',
                S = 'soft_stop',
                R = 'builders',
                ['Alt-F2'] = 'debug_create_unit',
                ['Ctrl-4'] = 'set_group4',
                W = 'overcharge',
                V = 'templates',
                Y = 'sensors',
                X = 'guard',
                Z = 'toggle_repeat_build',
                ['Ctrl-Y'] = 'nearest_idle_airscout',
                ['Ctrl-Shift-2'] = 'Go to camera position 2',
                ['Ctrl-B'] = 'select_torp',
                ['Shift-X'] = 'shift_guard',
                ['Shift-Alt-A'] = 'shift_launch_tactical',
                ['Ctrl-Alt-Shift-4'] = 'Set camera position 4',
                ['Ctrl-Alt-3'] = 'set_group8',
                ['Ctrl-D'] = 'select_all_land_onscreen',
                ['Ctrl-Alt-1'] = 'set_group6',
                ['Alt-T'] = 'arties',
                ['Ctrl-Q'] = 'select_anti_air_fighters',
                ['Ctrl-G'] = 'select_bomber_notorp',
                ['Alt-E'] = 'capture',
                F12 = 'show_network_stats',
                F11 = 'toggle_disconnect_screen',
                ['Ctrl-X'] = 'select_all_onscreen',
                ['Ctrl-Shift-S'] = 'select_all_naval_factories',
                ['Shift-Alt-E'] = 'shift_capture',
                ['Alt-G'] = 'tml',
                ['Alt-Shift-1'] = 'fac_group6',
                F10 = 'toggle_main_menu',
                ['Shift-Alt-X'] = 'shift_repair',
                F1 = 'ping_alert',
                NumStar = 'reset_game_speed',
                Slash = 'nuke',
                ['Ctrl-Shift-1'] = 'Go to camera position 1',
                ['Ctrl-Shift-3'] = 'Go to camera position 3',
                H = 'shields',
                ['Alt-A'] = 'launch_tactical',
                T = 'mass',
                F9 = 'toggle_key_bindings',
                ['Ctrl-C'] = 'select_all_subs',
                ['Ctrl-Alt-Shift-2'] = 'Set camera position 2',
                ['Shift-Backslash'] = 'mode',
                ['Ctrl-E'] = 'engineer_onscreen',
                ['Shift-Alt-S'] = 'shift_dive',
                ['Alt-J'] = 't2_field_engineer',
                ['Shift-CapsLock'] = 'idle_engineer_onscreen',
                J = 'fieldengy',
                ['Ctrl-A'] = 'select_all_air_onscreen',
                ['Shift-D'] = 'shift_transport',
                NumPlus = 'increase_game_speed',
                ['Alt-5'] = 'group0',
                ['Alt-D'] = 'ferry',
                ['Shift-S'] = 'shift_stop',
                ['Ctrl-K'] = 'Kill_Selected_Units',
                F3 = 'ping_attack',
                ['Alt-H'] = 'massfab',
                ['Ctrl-CapsLock'] = 'cycle_idle_factories',
                ['Ctrl-Alt-2'] = 'set_group7',
                ['Ctrl-T'] = 'select_all_land_indirectfire',
                ['Alt-Z'] = 'teleport',
                ['Alt-Shift-5'] = 'fac_group0',
                ['Ctrl-Shift-F'] = 'select_all_factory_onscreen',
                ['Alt-W'] = 'toggle_all',
                NumSlash = 'show_fps',
                ['Shift-Q'] = 'shift_move',
                ['Ctrl-R'] = 'select_all_land_directfire',
                ['Ctrl-Alt-S'] = 'select_naval_nosonar',
                ['4'] = 'group4',
                ['Ctrl-F'] = 'select_gunships',
                F8 = 'toggle_diplomacy_screen',
                ['Alt-Shift-4'] = 'fac_group9',
                ['Alt-X'] = 'repair',
                ['Alt-B'] = 'mobileshield',
                Q = 'move',
                ['Alt-S'] = 'dive',
                ['Ctrl-Alt-Shift-5'] = 'Set camera position 5',
                ['Ctrl-1'] = 'set_group1',
                PageDown = 'chat_page_down',
                CapsLock = 'add_nearest_idle_engineers_seq',
                ['Alt-Y'] = 'mml',
                ['Shift-E'] = 'shift_reclaim',
                ['Alt-3'] = 'group8',
                ['Ctrl-Shift-5'] = 'Go to camera position 5',
                ['Shift-2'] = 'fac_group2',
                ['Shift-Slash'] = 'shift_nuke',
                ['Alt-RightArrow'] = 'switch_skin_up',
                ['Shift-A'] = 'shift_attack',
                ['Ctrl-Shift-A'] = 'select_all_air_factories',
                Space = 'upgrades',
                ['Alt-R'] = 'defense',
                ['Ctrl-V'] = 'select_all_battleships',
                ['Alt-C'] = 'torpedo',
                ['Shift-Tab'] = 'cycle_unit_types_in_sel',
                ['Alt-1'] = 'group6',
                E = 'reclaim',
                ['Ctrl-S'] = 'select_naval_nosonar_onscreen',
                ['Ctrl-Shift-CapsLock'] = 'select_nearest_factory',
                ['Alt-Shift-3'] = 'fac_group8',
                NumMinus = 'decrease_game_speed',
                ['Alt-Shift-Q'] = 'shift_patrol',
                ['Alt-V'] = 'xp',
                ['Ctrl-Alt-Shift-1'] = 'Set camera position 1',
                ['Alt-DownArrow'] = 'switch_layout_down'
            },

Good Hotbuild mod

Better hotkeys mod
User avatar
JoonasTo
Priest
 
Posts: 498
Joined: 08 Feb 2015, 01:11
Has liked: 18 times
Been liked: 81 times
FAF User Name: JoonasTo

Re: Hotkey Layouts

Postby ZeRenCZ » 31 Aug 2018, 20:34

Anihilnine wrote:Image
edit: all keys are mapped to ctrl-k


holy mother of keybords, what the hell is this? :shock: :shock:
Attachments
keys.jpg
my keys
keys.jpg (217.71 KiB) Viewed 4327 times
User avatar
ZeRenCZ
Crusader
 
Posts: 29
Joined: 05 Jul 2014, 21:10
Has liked: 3 times
Been liked: 5 times
FAF User Name: ZeRen

Re: Hotkey Layouts

Postby Endranii » 31 Aug 2018, 21:06

M for Move order.
E for reclaim.
Works pretty well so far :D
Endranii
Avatar-of-War
 
Posts: 255
Joined: 16 Feb 2017, 18:07
Has liked: 83 times
Been liked: 50 times
FAF User Name: Empty_Spot

Re: Hotkey Layouts

Postby Farmsletje » 01 Sep 2018, 04:00

i beg to differ
FtXCommando wrote:
need to give him some time to blossom into an aids flower
Farmsletje
Contributor
 
Posts: 1116
Joined: 14 Sep 2016, 18:38
Has liked: 383 times
Been liked: 452 times
FAF User Name: Farmsletje

Re: Hotkey Layouts

Postby SpoCk0nd0pe » 05 Sep 2018, 01:02

To be honest, I do not really know why the hotkey layout is designed the way it is. I personally think it would be much more intuitive if you put unit types on columns. E.g. let the main land attack unit be on e, d and c. It would make more sense to differentiate by role rather then by class (e.g. tank vs bot).
SpoCk0nd0pe
Avatar-of-War
 
Posts: 246
Joined: 24 Sep 2014, 21:17
Has liked: 20 times
Been liked: 37 times
FAF User Name: SpoCk0nd0pe

Next

Return to General Discussions

Who is online

Users browsing this forum: No registered users and 1 guest