Page 1 of 1

Enhancement to the selection of items in the hotbar

Posted: Sun Jun 30, 2024 1:29 pm
by Altainia
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:
proposal.png
proposal.png (136.21 KiB) Viewed 964 times
(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).
Here are some implementation details I've thought up for certain edge cases in the event the chord key is set to hold (instead of active if pressed):
  • 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).

Re: Enhancement to the selection of items in the hotbar

Posted: Sun Jun 30, 2024 5:45 pm
by Tertius
You're speaking about the quickbar.
There are already keyboard shortcuts available to select a specific bar: SHIFT-0 ... SHIFT 9. It will show the selected bar on the top quickbar row.
To pick one item from the top quickbar row, there are keyboard shortcuts 0..9.
So you need to type a "chord" of [SHIFT-8][3] to pick the 3rd item on quickbar 8.
The key you call chord key is already SHIFT, and since it's one of the universal modifier keys, you do not occupy an additional precious key.

As far as I see, the only difference to your proposal is that the game changes the top quickbar row in the process, while your proposal probably doesn't ask to change it.

In what way does your proposal differ from these shortcuts already present in Factorio and how is it superior to it?

In my opinion, the existing game function is superior, because it 1) doesn't require a "chord key" prefix to initiate but directly addresses row and column and 2) it permanently selects the chosen quickbar into the top row, so other items from that quickbar can be selected without selecting the quickbar number again. Usually, quickbars have similar items, so if you pick an item from a specific bar for the first time, you will probably pick a another item from that bar again shortly after.

Re: Enhancement to the selection of items in the hotbar

Posted: Wed Jul 03, 2024 1:34 am
by Altainia
Yes, using a modifier key or a key as a modifier was in my proposal, so using [SHIFT] would work.

Having a one-shot item selector is beneficial for when you want to get just that one item in a different quickbar than you're mainly using. Think the occasional big electric pole you need to place down, or a filter inserter. Factory items don't neatly fit into one row, after all.

Re: Enhancement to the selection of items in the hotbar

Posted: Wed Jul 03, 2024 2:34 am
by FuryoftheStars
I don't see a difference. You either press [SHIFT] + # for the quickbar, then # for the slot, or you press modifier + # for quickbar, then # for the slot. Either way it's 3 key presses.

Re: Enhancement to the selection of items in the hotbar

Posted: Wed Jul 03, 2024 6:44 pm
by Altainia
Presently you press [SHIFT] + # for the quickbar, then # for the slot, then [SHIFT] + previous_# for the quickbar you were previously on.

I'm suggesting press [modifier], quickbar#, slot# to select the slot on a different quickbar without leaving your current one (and thus without having to manually go back).

Re: Enhancement to the selection of items in the hotbar

Posted: Wed Jul 03, 2024 7:21 pm
by FuryoftheStars
Well, as was mentioned by Tertius, typically your quickbars are organized by function/purpose and so typically if you need one thing out of it, then you'll often end up needing others.

That said, even if you don't, that proposal means that instead of remembering which of the 10 quickbars you need, you now need to remember which of the 10 quickbars plus which of the 10 slots within each quickbar, making it so you need to potentially remember what is exactly assigned to all 100 slots.

I don't know about others, but my memory is not that good. I'd rather it switch to show me the quickbar so I can then look and remember which of the slots the item I want is in.

Re: Enhancement to the selection of items in the hotbar

Posted: Thu Jul 04, 2024 6:43 am
by Kyralessa
So to boil it down, what you'd be looking for is a setting where when you hit Shift-# to switch hotbars, and then hit a # to pick an item, it would then immediately restore your default (1 2 3 4) hotbars without you having to switch back.

Re: Enhancement to the selection of items in the hotbar

Posted: Thu Jul 04, 2024 11:23 am
by Altainia
FuryoftheStars wrote:
Wed Jul 03, 2024 7:21 pm
Well, as was mentioned by Tertius, typically your quickbars are organized by function/purpose and so typically if you need one thing out of it, then you'll often end up needing others.

That said, even if you don't, that proposal means that instead of remembering which of the 10 quickbars you need, you now need to remember which of the 10 quickbars plus which of the 10 slots within each quickbar, making it so you need to potentially remember what is exactly assigned to all 100 slots.

I don't know about others, but my memory is not that good. I'd rather it switch to show me the quickbar so I can then look and remember which of the slots the item I want is in.
I don't know about you, but I haven't found the perfect quickbar layout that always has what I need on one row, with other rows always having more than just one item that I'll need on them. This is especially true when playing with different mods.

My proposal includes a preview of the contents of each quickbar you're in the process of selecting from, so you do not need to possess the inhuman ability to remember 100 item locations. I even included a picture. You just need to remember which of the 10 quickbars you need.
Kyralessa wrote:
Thu Jul 04, 2024 6:43 am
So to boil it down, what you'd be looking for is a setting where when you hit Shift-# to switch hotbars, and then hit a # to pick an item, it would then immediately restore your default (1 2 3 4) hotbars without you having to switch back.
I'd like both. Sometimes you do want to switch to a different quickbar and stay there and sometimes you don't.

Re: Enhancement to the selection of items in the hotbar

Posted: Thu Jul 04, 2024 4:04 pm
by Kyralessa
Altainia wrote:
Thu Jul 04, 2024 11:23 am
Kyralessa wrote:
Thu Jul 04, 2024 6:43 am
So to boil it down, what you'd be looking for is a setting where when you hit Shift-# to switch hotbars, and then hit a # to pick an item, it would then immediately restore your default (1 2 3 4) hotbars without you having to switch back.
I'd like both. Sometimes you do want to switch to a different quickbar and stay there and sometimes you don't.
So maybe a "restore default quickbars" keyboard shortcut you could tap after you're done?

Then it would be:

Shift-#
#
[restore default quickbars key]

Re: Enhancement to the selection of items in the hotbar

Posted: Sat Jul 13, 2024 12:34 pm
by Altainia
That doesn't sound much different than the status quo, except switching back becomes more automatic, and I don't want to bog down this suggestion with another hotkey. Though maybe it could be a behavioral difference of the same hotkey controlled by a setting.