Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3

Author Topic: UI hell: did anyone try to customize keybinds? 'HJKL' keys?  (Read 14486 times)

KurzedMetal

  • Bay Watcher
    • View Profile

I like the game, the game idea, the complexity of it, its features, i don't mind the graphics and i even like those cute tilesets (tho gameplay is more important for me), but UI/Keys are horrendous and is pushing me from playing DF every time i try it.

Every menu have different keys (+/+, u/h/k/m, w/a/x/d, arrows), i find myself switching out my hand from num keypad every 5s . Even my neck is starting to hurt due to having to look the keyboard (despite been a touch typist for years) when i need to hit a key from the right side of the keyboard.

I would love to have touch typist-friendly key bindings (like common HJKL keys as roguelikes use, but i'm flexible, i just need to avoid arrow and numpad keys), but last time i tried to edit them myself, i spent hours changing them and then keys started to overlap and menus started to act weird, and i gave up (editing the key bindings and playing the game).

Any recommendations? experience about this? how did you workaround this huge problem?

EDIT: YEAH, i made it! :), after hours of editing and reviewing bindings, i found some simple free keys to add HJKL movement keys to DF (making it typist friendly) and it changes very few default keybinds!!! (3 IIRC). For a second i thought it was impossible. Since it was hard to make, i'll leave my current binding file here if anyone is interested in trying it. In this case, if you are using the Lazy Newb Pack, just place the file inside the LNP/Keybinds directory and it will show up at the startup for easy switch between them and the defaults.

Download: Typist-34.11.txt
Download: Typist-40.24.txt
Download: Typist-43.05.txt
Download: Typist-44.12.txt

Basically the keys are...
* movement (adding ALT means multiple tiles): CTRL+hjklyubn
* secondary scroll keys in some menu (adding ALT jumps a page): CTRL+[]
* z-level: CTRL+,.
* new enter: CTRL+Space (with or without ALT), you can still use Enter
* macros: use SHIFT+CTRL+key instead of CTRL+key (changed to avoid conflicts)
* embark positioning (and resizing with SHIFT): wasd (who the hell ever used "umhk")
* pause: Backspace (since space has other uses now, the default was annoying)
* the rest of the defaults weren't changed, except for pause, secondary scroll keys, and 3 conflicting building keys

Caveat:
* Fortress mode only
* Breaks QuickFort, but can be fixed tweaking its config files (because of the changes to macro and secondary selector keybindings)
   (copy the keybinding file to QuickFort/config/interfaces.txt, and correct the keys in QuickFort/config/keys.json and QuickFort/config/options.txt)
* The new secondary selectors and z-level keybindings are confortable in my
  Latin American keyboard layout, change them if they are uncorfortable for you.
* I replaced the standard "secondary scroll keys" (-+/*) because they weren't "vi"-like,
  I'd recommend getting used to the new keybindings, they are much more friendly anyways.

Complete changelog:
Code: [Select]
add new keybinds for "Enter" actions
- add CTRL+Space and CTRL+ALT+Space to all actions using Enter
  in the default keybindings

change macro management keybinds (avoid conflict with new movement keys)
- change CTRL+[rpls] to SHIFT+CTRL+[rpls] in
  (RECORD|PLAY|LOAD|SAVE)_MACRO

add new movement keys
- add CTRL+[hjklyubn] for single-tile movement
  (CURSOR_(LEFT|DOWN|UP|RIGHT|UPLEFT|UPRIGHT|DOWNLEFT|DOWNRIGHT)
- add ALT+<keys> and CTRL+ALT+<keys> for multi-tile movement
  (CURSOR_(LEFT|DOWN|UP|RIGHT|UPLEFT|UPRIGHT|DOWNLEFT|DOWNRIGHT)_FAST)
- add CTRL+[hjklun] for "standard scrolling"
  (STANDARDSCROLL_(LEFT|DOWN|UP|RIGHT|PAGEUP|PAGEDOWN)
- add CTRL+ALT+[jk] to scroll in lists (STANDARDSCROLL_PAGE(DOWN|UP))

change bindings conflicting with new movement keys
- change ALT+b to SHIFT+CTRL+b in HOTKEY_TRAP_BARS_FLOOR
- change ALT+b to SHIFT+CTRL+b in HOTKEY_BUILDING_BARS_FLOOR
- change ALT+h to SHIFT+CTRL+h in HOTKEY_BUILDING_HIVE
- change CTRL+u to SHIFT+CTRL+u in PREFIX

possible unresolved conflicts
(pretty sure "A_" prefix means adventure mode)
- A_ATTACK_CONFIRM (ALT+y) with new movement key
- A_FRESHEST_TRACK (ALT+k) with new movement key

add new keys for embark positioning and resizing
- add [wasd] to move embark (SETUP_LOCAL_(X|Y)_(MUP|MDOWN))
- add [WASD] to resize embark (SETUP_LOCAL_(X|Y)_(UP|DOWN))

add new keys to change z level
- I found them useful in my LatinAmerican layout keyboard, YMMV.
- add CTRL+Comma to lower z level (CURSOR_UP_Z_AUX)
- add CTRL+Period to increase z level (CURSOR_DOWN_Z_AUX)

add new keys to world parameter decrease/increase
- add CTRL+[hl] to world parameter decrease/increase
   (WORLD_PARAM_(DECREASE|INCREASE))

change Pause to Backspace
- change D_PAUSE to Backspace to avoid using it by mistake

change "Remove work order" key in "Manager screen"
- change remove work order (MANAGER_REMOVE) from r to CTRL+ALT+r
   to avoid unintentional job deletion

change keys to Secondary Scroll keybinds
- I found brackets useful in my LatinAmerican layout keyboard, YMMV.
- change '[', ']', CTRL+[ and CTRL+] as Secondary Scroll Down and Up
  (SECONDSCROLL_(DOWN|UP))
- change CTRL+ALT+[ and CTRL+ALT+] as Secondary Scroll Page Down and Up
  (SECONDSCROLL_PAGE(DOWN|UP))
- change default keys "-+/*" to "Numpad (Minus|Plus|Divide|Multiply)"
  to avoid some problems (don't use numpad anyways, use brackets!)

reasoning behind the change of secondary selector up/down/pgup/pgdwn
- defaults are awful:
  * Minus is "down" but it's over the plus key in the numpad
  * Plus is "up" but is below the minus key
  * numpad asterisk is "pgdwn" and numpad multiply is "pgup",
    but they don't follow same order as vi keys "jk"
- the new keys right now is:
  * Leftbracket (with or without CTRL) and numpad Plus is "down"
  * Rightbracket (with or without CTRL) and numpad Minus is "up"
  * CTRL+ALT+Leftbracket and numpad Divide is "pgdwn"
  * CTRL+ALT+Rightbracket and numpad Multiply is "pgup"
- this change invert adding/subtracting with Minus/Plus in numpad,
  but the objective of this keybindings are to not use numpad at all,
  so use the Brackets :)
« Last Edit: January 15, 2019, 12:41:31 pm by KurzedMetal »
Logged
Quote from: ARandomGuyOnTheInternet
When 80% of your fans use 3 different external programs simultaneously to play your game comfortably, you might need to stand back and think "Maybe...Maybe I should get around making a UI designed to be used by carbon-based entities, like mammals".

freeformschooler

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #1 on: June 17, 2011, 01:50:46 pm »

Uh... mainly I just bound + and - and / and * from the numpad to my regular non-number versions of those keys. That kept me from having to use the numpad.
Logged

Nistenf

  • Bay Watcher
  • The cake is a lie
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #2 on: June 17, 2011, 02:03:27 pm »

I just got used to it, it's not a big problem (for me)
Logged

KurzedMetal

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #3 on: June 17, 2011, 02:04:59 pm »

Uh... mainly I just bound + and - and / and * from the numpad to my regular non-number versions of those keys. That kept me from having to use the numpad.

But you still use the arrow keys... switching from arrows or numpad to normal resting position (forefinger at J) is almost the same. Or am i missing something?
Logged
Quote from: ARandomGuyOnTheInternet
When 80% of your fans use 3 different external programs simultaneously to play your game comfortably, you might need to stand back and think "Maybe...Maybe I should get around making a UI designed to be used by carbon-based entities, like mammals".

Ethnar

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #4 on: June 17, 2011, 03:43:05 pm »

First thing I do after installing new version is to make sure that + and - is bound to Ctrl+Up and Ctrl+Down (mind you: - is Up, + is Down, while little troublesome in few screens with quantities, most behave as expected that way), * and / to Ctrl+PageUp and Ctrl+PageDown (not sure which is what, you can figure out from keybind menu :) ) and finally < and > replaced with Alt+Up and Alt+Down. Makes my work much faster in DF. :)

Perhaps this is a setup you would find handy? :)

PS KurzedMeta - can you tell me where your avatar is taken from? Seems familiar... can't be Eye of the Beholder series, can it?
« Last Edit: June 17, 2011, 03:45:38 pm by Ethnar »
Logged

KurzedMetal

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #5 on: June 17, 2011, 04:14:22 pm »

First thing I do after installing new version is to make sure that + and - is bound to Ctrl+Up and Ctrl+Down (mind you: - is Up, + is Down, while little troublesome in few screens with quantities, most behave as expected that way), * and / to Ctrl+PageUp and Ctrl+PageDown (not sure which is what, you can figure out from keybind menu :) ) and finally < and > replaced with Alt+Up and Alt+Down. Makes my work much faster in DF. :)

Perhaps this is a setup you would find handy? :)

My main problem is having to move my hand away from the resting position (left forefinger in F, right forefinger in J). Using numpad is nice but only if the rest of the keys used of the keyboard can be easily accessed with my left hand in resting position (the ones from ESC to B, but some menus have too many items, i think they wouldn't be enough, so the best choice is using both hand in normal/resting positions and use the whole keyboard except arrows or numpad, like most roguelikes do).

I'm already planning to change the whole interface.txt to support hjklyubn for movement and HJKLYUBN for "fast movement", probably esdf and ESDF for secondary movement and resizing. (like i already did with embarking, with wasd and WASD, to move and resize, which was awesome)

I want to change the keybindings progressively (not redesign the whole file in one go), and i found that if i remove all keybindings from an action it will use a question mark in the menus which is good to spot overlaps (for example: removing/commenting out all iterations of the new main movement keys in interface.txt will help me chose new candidates)
« Last Edit: June 17, 2011, 04:24:34 pm by KurzedMetal »
Logged
Quote from: ARandomGuyOnTheInternet
When 80% of your fans use 3 different external programs simultaneously to play your game comfortably, you might need to stand back and think "Maybe...Maybe I should get around making a UI designed to be used by carbon-based entities, like mammals".

Ethnar

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #6 on: June 17, 2011, 06:40:44 pm »

Suit yourself, but sounds like it'll require lots of getting used to.

And just to clarify - I don't use numpad at all. Right hand is friends with arrow keys 90% of the time. :)
Logged

KurzedMetal

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #7 on: June 17, 2011, 06:57:19 pm »

i usually adapt fast (and i use GVim/Vim and played roguelikes, so i feel like fish in the water with those movement keys) and i almost finished editing my interface.txt too. :)

I found a really simple approach to mass edit the key bindings. I removed all numbers and num keypad binds (were all movements), changed all the movement keys to hjkl-yubn and i'm (currently) changing all the action/menu items using hjklyubn letters to their correspondent numbers (h->4, l->6, j->2, k->8, etc.) by using some search and replace and merge tool to see the differences. I only need to think what will i do with the standard -+/* keys since in my keyboard layout (Latin American) those keys are too separated from each other.

I'll probably post it later if anyone is interested.
« Last Edit: June 17, 2011, 06:58:53 pm by KurzedMetal »
Logged
Quote from: ARandomGuyOnTheInternet
When 80% of your fans use 3 different external programs simultaneously to play your game comfortably, you might need to stand back and think "Maybe...Maybe I should get around making a UI designed to be used by carbon-based entities, like mammals".

Tharwen

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #8 on: June 17, 2011, 07:13:48 pm »

Hey, don't complain until you've had to switch between different keyboards with and without numpads.

Scrolling using - and shift + will never stop being awkward.
Logged
[Signature]

KurzedMetal

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #9 on: June 17, 2011, 07:31:23 pm »

Hey, don't complain until you've had to switch between different keyboards with and without numpads.

Scrolling using - and shift + will never stop being awkward.
(Keyboard w/o numpad AND External numpad) > Keyboard with numpad > Keyboard without numpad.
I'll never change my keyboard unless it brakes of course. <3 my keyboard, tho i'd love to have one of these (http://www.youtube.com/watch?v=dkUCsUUHmgc#t=3m22s) and the mouse too :P

EDIT: BTW, does anyone knows what are the "Options", "Secondary Options", "Custom <Keys>" key bindings are for?
« Last Edit: June 17, 2011, 07:35:35 pm by KurzedMetal »
Logged
Quote from: ARandomGuyOnTheInternet
When 80% of your fans use 3 different external programs simultaneously to play your game comfortably, you might need to stand back and think "Maybe...Maybe I should get around making a UI designed to be used by carbon-based entities, like mammals".

inEQUALITY

  • Bay Watcher
  • Living On the Mirror's Edge
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #10 on: June 17, 2011, 07:47:56 pm »

Hey, don't complain until you've had to switch between different keyboards with and without numpads.

Scrolling using - and shift + will never stop being awkward.

A-friggin-men. Damn laptops. But I'm a hunt-and-peck typist, so even this doesn't bother me too terribly much. It IS DF after all. my heart, love, and joy in video games. :D
Logged
Quote from: Carl Sagan
It does no harm to the romance of the sunset to know a little bit about it.
If the magma cannon doesn't count, they aren't proper scientists.

Ethnar

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #11 on: June 17, 2011, 08:12:44 pm »

Hey, don't complain until you've had to switch between different keyboards with and without numpads.

Scrolling using - and shift + will never stop being awkward.

A-friggin-men. Damn laptops. But I'm a hunt-and-peck typist, so even this doesn't bother me too terribly much. It IS DF after all. my heart, love, and joy in video games. :D
Guys, you can assign those action to any other key. even something as simple as = without needing to press Shift if you have to. You can even do that from in-game menu. Why torment yourselves?
Logged

KurzedMetal

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #12 on: June 17, 2011, 10:37:18 pm »

I just found that by changing my movement keys to letters or space (was using it as Select) when i try to type Names (like military alerts or burrow's names) weird things happen (like typing and switching military alerts at the same time). So, i'm ****ed with my rebinding attempt, too bad, it was working nicely.

Anyone has any idea how to workaround this?

I still have no clue what "Options", "Secondary Options", "Custom <Keys>" keybindings are for
« Last Edit: June 18, 2011, 01:02:00 am by KurzedMetal »
Logged
Quote from: ARandomGuyOnTheInternet
When 80% of your fans use 3 different external programs simultaneously to play your game comfortably, you might need to stand back and think "Maybe...Maybe I should get around making a UI designed to be used by carbon-based entities, like mammals".

Xgamer4

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #13 on: June 18, 2011, 12:40:23 am »

Hey, don't complain until you've had to switch between different keyboards with and without numpads.

Scrolling using - and shift + will never stop being awkward.

A-friggin-men. Damn laptops. But I'm a hunt-and-peck typist, so even this doesn't bother me too terribly much. It IS DF after all. my heart, love, and joy in video games. :D
Guys, you can assign those action to any other key. even something as simple as = without needing to press Shift if you have to. You can even do that from in-game menu. Why torment yourselves?

Be fair. While I appreciate the work Baughn did as far as graphics go, trying to rebind keys in-game is tormenting yourself.
Logged
insert something mind-blowing/witty here*

Vertigon

  • Bay Watcher
    • View Profile
Re: UI hell: did anyone try to customize keybinds? 'HJKL' keys?
« Reply #14 on: June 18, 2011, 02:55:21 am »

I never found it that much trouble, and anyways, he's talking about rebinding one damn key. I think you can find it in yourself to forge ahead and complete this arduous task :I
Logged
Pages: [1] 2 3