Cogmind > General Discussion

Experimental Keyboard Layouts and Command Rebinding

<< < (7/7)

nubbarus:
I've made some bindings for Colemak users who want to keep the same finger positions as QWERTY during vi-like navigation.
This way, we can use homerow keys HNEI as well as JLBK for all vi-like movements (which correspond to QWERTY's HJKL YUBN).
I made this by first using a default keyboard.cfg to swap keys in the following manner:

Colemak -> Default Command

E -> K
K -> N
N -> J
J -> Y
Y -> E

I -> L
L -> U
U -> I


Now your can move around by using
J L
H N E I
B K

This means that 2 default commands were actually affected:

* Cycling between energy/heat info, now bound to y (think of "energY") (previously bound to e)
* Open/closing the inventory panel, now bound to u (coincidentally in the same position as QWERTY's i key, to which it was previously bound)
All other commands work as expected (as default bindings)

To install, just delete keyboard.cfg and then drop this commands.cfg file into your user/ directory

Hope this helps, it sure made the cogmind experience a lot better for me!

matthewgdv:
Hi, I recently started playing Cogmind (thanks DoshDoshington!) and I'm loving it so far, but the only thing that I'm really finding as a major pain point is the limitations of the key rebinding system.

I'd love to play using a WASD + mouse scheme, and while Shadowfury333's AutoHotKey script + commands.cfg file gets very close, there are still a few issues (for me):

1) The game doesn't change to reflect the hotkey changes. This isn't a problem for the information in the in-game manual, but it's very unintuitive and confusing for hotkeys displayed in the UI (such as the scan hotkeys, the inventory mode hotkeys, sort hotkey, etc.), especially if you take a break from the game and come back to it a few weeks or months later and can't remember how you had set it up. I appreciate that some keys have long names (SPACEBAR) and there might not be enough space in their UI location for them, such as the scan hotkeys, but in those situations maybe just removing the hotkey reminder from the UI would be better (and you could maybe even show the hotkey as a tooltip on hover?)

2) The mouse isn't rebindable. When using a WASD-based control scheme I'd find it more intuitive to switch the functionality of the right mouse button to the left one (left clicking on things to 'select' them is more in line with most other top-down games, such as RTS games), including for moving and setting the camera, and change the right mouse button to no longer issue movement commands, but instead enter fire mode, and then when in fire mode for RMB to shoot, while LMB cancels instead (the opposite of currently). Basically, I'd just really want the LMB and RMB functionality to also be exposed in the commands.cfg file. I'm assuming currently you've special-cased certain actions like holding RMB to set the camera to a location, but maybe that could be solved more generally by adding it as an additional modifier called Hold in the commands.cfg, alongside Ctrl, Shift, and Alt?

3) Movement key combinations for diagonals (e.g. w+d). This is great because it frees up 4 keys near where your left hand will be 99% of the time for commonly needed actions other than movement. This point actually is handled by Shadowfury333's script, but I'd love to see it included in the base game so that users don't have to install third-party programs to make this work. It's actually at this point the only thing you need the AHK script to do that you can't just do baseline. Shadowfury333's script even allows you to customize whether you want a delay for WASD input during which the script waits for a second input, or whether to simply not move on keypress, but rather on key release, which helps to prevent accidental cardinal movements when a diagonal movement was intended.

Finally, I'd just like to say that I'd be super super grateful if you could put in-game key rebinding on the roadmap. It would be so much nicer than having to mess around with advanced user options and text files. I appreciate you mentioned this would be a ton of work, but I figured I'd at least register my interest with you, if that matters.

Cheers and take care. The game you've already got is nothing short of a miracle for a 1-man project. Truly amazing :)

Kyzrati:
Hi matthewgdv! Thanks for the input. These points are known and noted, though an update to the system is not currently planned. Although there are theoretically technical solutions for everything, they involve a massive amount of work, and even if the system were to be updated, an external solution will always be superior to whatever would be implemented in Cogmind (due to limitations). Even the experimental solution we have now took like two full weeks to implement within the constraints of what I'm using, and it barely scratches the surface of what is needed and/or should exist in an ideal world xD

(More specifically to one of your points, the mouse commands don't always match up one-for-one in Cogmind, so exposing them in the configuration would not work.)

Navigation

[0] Message Index

[*] Previous page

Go to full version