TL;DR
A keyboard shortcut to allow selecting an item across any of the ten hotbars by (row,column).What?
I suggest having a configurable keyboard shortcut "chord key" to allow choosing a hotbar number (row) followed by the index into that row (column) in order to select an item. For example, pretend that the shortcut for such a feature is configured by the player to be the minus sign (-), and assume that accessing the hotbar rows 0-9 is configured to be the keyboard numbers 0-9, and assume that accessing the items in a hotbar is also 0-9. To access the item registered to the fifth slot on hotbar four would look like this: [-] [4] [5].The chord key should be something you either press or hold (configurable).
There should be a UI element to show the hotbar you're accessing while you're doing so, especially helpful when you're accessing a hotbar not presently visible on the screen. Something like this: (Pretend that that yellow border is the orang-ish glow that Factorio gives to items requesting your attention.)
This would be the result of having pressed [-] [4] and not yet having pressed [5], or by holding down [-] and having pressed [4] but not yet having pressed [5] nor having released [-].
Why?
Factorio has many items and more are on the way. Having a hotbar for more commonly used items is nice, but being able to more quickly and efficiently access various belts, pipes, electrical infrastructure, spidertron remotes, blueprints, offensive and defensive items, machines, inserters, rails, signals, and so on would be a welcome feature, and I believe this proposal would accomplish that. Most of us already create hotbar layouts that remain largely the same between one game and the next, and have developed an intuition to which hotbar and which slot an item is registered to. This proposal would simplify the process of remembering which hotbar we're on, switching to a different hotbar, selecting our item, then switching back to the hotbar we were using before.Edge Case Considerations
Here are some implementation details I've thought up for certain edge cases in the event the chord key is set to activate if pressed (instead of held):- Pressing the chord key twice in a row should negate the action ([-] [-] should be as if the chord key was not pressed).
- Pressing the chord key followed by pressing a key that could correspond to both a hotbar number and an item index followed by pressing the chord key should select the item in the given index in the currently active hotbar ([-] [4] [-] should be as if just [4] were pressed all along, selecting the fourth item in the current hotbar).
- Pressing the chord key followed by waiting a configurable delay should negate the chord ([-] [delay] should be as if nothing had been pressed at all).
- Pressing the chord key followed by pressing a key that could correspond to both a hotbar number and an item index followed by waiting a configurable delay should select the item in the given index in the currently active hotbar([-] [4] [delay] should be as if just [4] were pressed all along, selecting the fourth item in the current hotbar).
- Holding the chord key followed by pressing a key that could correspond to both a hotbar number and an item index followed by releasing the chord key should select the item in the given index in the currently active hotbar([hold: -] [4] [release: -] should be as if just [4] were pressed all along, selecting the fourth item in the current hotbar).