Forged Alliance Forever Forged Alliance Forever Forums 2018-09-05T17:36:07+02:00 /feed.php?f=2&t=13817 2018-09-05T08:33:46+02:00 2018-09-05T08:33:46+02:00 /viewtopic.php?t=13817&p=167281#p167281 <![CDATA[Re: Hotkey Layouts]]>
Main post updated

Spoiler: show
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]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:
            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:
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:
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:
   -- 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[/spoiler]

Statistics: Posted by JoonasTo — 05 Sep 2018, 08:33


]]>
2018-09-05T01:02:31+02:00 2018-09-05T01:02:31+02:00 /viewtopic.php?t=13817&p=167258#p167258 <![CDATA[Re: Hotkey Layouts]]> Statistics: Posted by SpoCk0nd0pe — 05 Sep 2018, 01:02


]]>
2018-09-01T04:00:21+02:00 2018-09-01T04:00:21+02:00 /viewtopic.php?t=13817&p=167164#p167164 <![CDATA[Re: Hotkey Layouts]]> Statistics: Posted by Farmsletje — 01 Sep 2018, 04:00


]]>
2018-08-31T21:06:52+02:00 2018-08-31T21:06:52+02:00 /viewtopic.php?t=13817&p=167160#p167160 <![CDATA[Re: Hotkey Layouts]]> E for reclaim.
Works pretty well so far :D

Statistics: Posted by Endranii — 31 Aug 2018, 21:06


]]>
2018-08-31T20:34:50+02:00 2018-08-31T20:34:50+02:00 /viewtopic.php?t=13817&p=167159#p167159 <![CDATA[Re: Hotkey Layouts]]>
Anihilnine wrote:
Image
edit: all keys are mapped to ctrl-k


holy mother of keybords, what the hell is this? :shock: :shock:

Statistics: Posted by ZeRenCZ — 31 Aug 2018, 20:34


]]>
2018-08-30T21:52:48+02:00 2018-08-30T21:52:48+02:00 /viewtopic.php?t=13817&p=167140#p167140 <![CDATA[Re: Hotkey Layouts]]>
Spoiler: show
Code:
            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

Statistics: Posted by JoonasTo — 30 Aug 2018, 21:52


]]>
2017-09-27T16:33:20+02:00 2017-09-27T16:33:20+02:00 /viewtopic.php?t=13817&p=154603#p154603 <![CDATA[Re: Hotkey Layouts]]>
edit: all keys are mapped to ctrl-k

Statistics: Posted by nine2 — 27 Sep 2017, 16:33


]]>
2017-08-19T12:24:45+02:00 2017-08-19T12:24:45+02:00 /viewtopic.php?t=13817&p=153275#p153275 <![CDATA[Re: Hotkey Layouts]]>

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:
            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'
            },

Statistics: Posted by JoonasTo — 19 Aug 2017, 12:24


]]>
2017-08-28T01:08:56+02:00 2017-08-19T02:20:31+02:00 /viewtopic.php?t=13817&p=153264#p153264 <![CDATA[Re: Hotkey Layouts + Hotbuild Chains]]>
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:
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:
   -- 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',

Statistics: Posted by JoonasTo — 19 Aug 2017, 02:20


]]>
2017-01-11T19:51:24+02:00 2017-01-11T19:51:24+02:00 /viewtopic.php?t=13817&p=141896#p141896 <![CDATA[Re: Hotkey Layouts]]>

Statistics: Posted by speed2 — 11 Jan 2017, 19:51


]]>
2018-09-05T17:36:07+02:00 2017-01-11T19:34:57+02:00 /viewtopic.php?t=13817&p=141895#p141895 <![CDATA[Hotkey Layouts]]>
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:
            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:
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:
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:
   -- 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

Statistics: Posted by JoonasTo — 11 Jan 2017, 19:34


]]>