Sign in to follow this  
Followers 0
Daray

Daray's Keyboard Guide

43 posts in this topic

Hi folks,

I thought I'd share the key binding setup I've been using for the last year.

If you do not already use key bindings, hurry up and read the Key bindings

article on Wurmpedia. You'll be glad you did!

"Why go through the hassle of this"?, you ask, "I'm happy using my mouse".

Well, spending hour upon hour on a laborious task can be hard on your hands

and wrists, so why not make your Wurm experience a bit more comfortable? :)

First, let us make some observation about key binding in Wurm:

  1. There are too many actions in Wurm to map them all to "convenient"
    keys. This means that some of the keys have to do different actions,
    depending on context. For instance, you don't need wood cutting
    bindings when mining, so they might as well share the same keys.
  2. In most cases, the Wurm interface still requires you to to use
    your mouse a lot. This means that much of the time you will only
    have your left hand on the keyboard. Hence, the most important
    bindings should be easily reachable from the left hand's home
    position.

My setup is inspired by Miceless' Quickswitch hotkeys guide, which addresses

our first observation by introducing something we can call modes.

These modes are implemented as scripts that makes some of the keys (X, C,

Shift-X and Shift-C) have different actions depending on the active mode.

I have extended this scheme by making the modes fill out the toolbelt with the

relevant tools upon activation.

My setup is available as a Github repository. You can browse through the files

to get inspiration, or download and install the complete setup. Click here to

browse (or download) my setup:

Take especially a look at the file common/base.txt, which contains most of the

key bindings:

I'll go through the different parts of the setup below.

Movement

Movement works much like in the default setup. I made it possible to move

around using only the keyboard, or only the mouse respectively. Which is handy

when you're holding a cup of coffee during a morning grind :D


bind W MOVE_FORWARD
bind S MOVE_BACK
bind A MOVE_LEFT
bind D MOVE_RIGHT

bind Q TURN_LEFT
bind E TURN_RIGHT
bind Next TURN_DOWN
bind Prior TURN_UP

bind Alt+W CLIMB_UP
bind Alt+S CLIMB_DOWN

bind Mouse3 AUTORUN
bind B AUTORUN

Mouse3 is the button at the side of your mouse if you got one.

Item handling

Remember our observation about using mainly the left side of the keyboard

for things we do often? These actions have "good" keys, as we use them all

the time:


bind R TAKE
bind T DROP
bind F EXAMINE
bind V OPEN
bind Shift+V CLOSE

Modes

Now for the modes. Modes are activated by running a script file containing

the console commands to rebind X and C and fill out the toolbelt.

I'm using the F-keys to switch modes, as the menu bar displays the actions

these keys are bound to. Handy if you have trouble remembering which key

activated which mode. The actions bound to the F-keys in Wurm's vanilla

configuration have been moved to Shift-F1..F12, as I do not use them as

often as I switch modes.

Also, each mode binds F12 to a comment containing the name of the mode.

Pressing F12 will do nothing, but you can then see the active mode at all

times by looking at the top right entry in the menu bar.

Here are the modes I currently use:


bind F1 "exec mine.txt"
bind F2 "exec dig.txt"
bind F3 "exec wood.txt"
bind F4 "exec crops.txt"
bind F5 "exec animals.txt"
bind F6 "exec forage.txt"
bind F7 "exec mount.txt"
bind F8 "exec move.txt"
bind F9 "exec loot.txt"

bind Ctrl+F1 "exec smith.txt"
bind Ctrl+F2 "exec carp.txt"
bind Ctrl+F3 "exec leather.txt"
bind Ctrl+F4 "exec cloth.txt"
bind Ctrl+F5 "exec pottery.txt"

What happens when a mode is activated? Lets have a look at wood.txt:


bind F12 "// wood"
bind Ctrl+F12 "// wood"

bind X CUT_DOWN
bind Shift-X PRUNE
bind C CHOP_UP
bind Shift-C PICK_SPROUT

settoolbelt 12345678 1 // hatchet (grind)
settoolbelt 23456789 2 // hatchet (high QL)
settoolbelt 34567890 3 // sickle

In addition to binding the X and C keys, the script also loads the relevant

tools into the toolbelt. You need the item ids of your items to do so. There is

no way to determine an item's unique id from the console at the moment, but

fortunately there is a workaround:

  1. Place the items which you want to know the id in the toolbelt and quit
    Wurm. You need to quit Wurm for the ids to be saved on your hard
    drive.
  2. In your Wurm installation folder, open the file
    players/player_name/playerdata.txt where player_name is the
    name of your character. The ids are the numbers on the lines starting
    with toolSlot1 to toolSlot10.

It's a laborious task to fill in the ids of your tools in each of the script files, but

quite worth it!

Items in the toolbelt are activated by pressing the keys 1 to 7. I let the modes

replace tools in slot 1 to 4, and use the last three slots for items like steel and

flint and a statuette.

Quick options

If you have multiple characters logged in at once, you probably have muted

the sound for all but your main character. I find it convenient to have only

work sounds enabled on my alt. I can then mute and unmute these sounds

depending on the distance between my characters to avoid hearing an echo,

but still be able to hear if my alt is working or not:


bind Ctrl+Shift+F8 "setoption sound_al_gain 0"
bind Ctrl+Shift+F9 "setoption sound_al_gain 20"

Also, if you like to have a good render distance, but your FPS drops when

visiting the major towns, you can create scripts to load different render distance

presets:


bind Ctrl+Shift+F10 "exec distance_short.txt"
bind Ctrl+Shift+F11 "exec distance_long.txt"

distance_short.txt:


setoption trees 1
setoption structure_render_distance 3
setoption item_creature_render_distance 4

distance_long.txt:


setoption trees 2
setoption structure_render_distance 4
setoption item_creature_render_distance 4

Sharing between configuration profiles

When you browse through the files at github, you'll notice that the script files in the

configs/Daray directory executes a file from the common directory. This way you

can share part of the setup between the Wurm Launcher's configuration profiles.

Most importantly, it makes it possible for different characters to have their respective

tools mapped into the toolbelt while keeping the key bindings in sync. Believe me,

you need to sync your key bindings between your characters; otherwise you will get

confused very fast...

The static key bindings (e.g. those that does not get changed when switching

modes) are also located in the common directory in the file base.txt, and can be

reloaded by pressing Shift-F11. This way, these bindings will also get synced

across characters. Further, Wurm replaces the content of the default

keybindings.txt file on exit. Having your static keybindings defined as a loadable

scripts will let you retain comments and sorting, making it easier to keep track of

your bindings.

Final note

As you can see, Wurm's keybinding mechanism is quite flexible. Go ahead and

create a setup that works for you. I hope you can get inspiration from my setup :)

Also, feel free to give feedback and suggestions.

-- Daray, keyboard addict
20 people like this

Share this post


Link to post
Share on other sites

Very Informative.

I've learned somethings I didn't even know, such as the id's for toolbelt seems like something I would want implemented into my own keybindings.

Thanks alot for typing this.

Share this post


Link to post
Share on other sites

There are two things I want to know about binds, I want to be able to have a primary action key that digs, chops, mines forward etc depending what tool is selected. I expect this would have to be done as a text file if it's even possible. So pressing the key would try all the actions bound to it till one works.

The second bind I want is for settings. I'd like to play with high settings then press a key which would change the settings for fps.

Can either of these be made?

Looking at the render distance binds it looks like this can be done to an extent, so is there a list of render options you can add to this?

Edited by Silures

Share this post


Link to post
Share on other sites

'Bind f dig' is all i've ever needed so far, but thanks for the comprehensive guide.

Share this post


Link to post
Share on other sites

Incredible I didnt even know most of that was possible. As an old guy with carple tunnel I thank you.

Share this post


Link to post
Share on other sites

Thanks for the feedback guys...

Regarding your questions Silures, it is currently only possible to

bind a key to either a single action or a console command. Actions

cannot be started from the console, so you start them using a key

binding. I guess it is designed this way to prevent macros. Due

to this, it is not possible to have a primary action key like you

describe - you need to use the correct key for each tool, or use

the "modes" approach I described above to assign different actions

to the same key depending on the active mode.

It is possible however to adjust all the settings that are changeable

at runtime via the console, and thus via binds. You can use the

command dump settings to see the name of all settings and the

present value. You might have to do a bit of guesswork to find out

which name corresponds to which setting in the options dialog.

Please post if you find some settings that are good for tuning your

FPS - I'd like more control over performance too :-)

1 person likes this

Share this post


Link to post
Share on other sites

Binding mining digging and shieldbashing is everything i ever need. I never liked to use any keybindings or macros in any games

Edited by atazs

Share this post


Link to post
Share on other sites

This needs a sticky or at the least a move to guides.....just my 2 cents....

Share this post


Link to post
Share on other sites

How does one open Inventory ect after running this exec?

NM I found it....TY...Great guide for sure!

Edited by Emane

Share this post


Link to post
Share on other sites

Wow , i used a few binds myself , but with this , maybe my wrists will stop hurting!

Share this post


Link to post
Share on other sites

very nice setup.

I have two questions tho. I tried to bind prune also and allthough the console told me i did indeed so it doesnt perform the action (well probalby my fault somehow)

The other refers to 'ACTIVATE' - havent seen it in your post but maybe i just overlooked it. i use it a lot especially in combination with 'CONTINUE' and 'SOW' - helps a lot with building things like ships/bsbs/... and other tasks where you have to attach a lot of things.

appologiez if i havent read carefully and many thanks for the hint with item_ids - didnt know that.

Share this post


Link to post
Share on other sites

Hmm, are you sure you have activated a sickle when trying to prune?

I haven't been using the ACTIVATE action so far, but I'll definitely try it out for building. Double clicking in you inventory is so 1990s anyway :) Perhaps mapping it to a spare mouse button?

For sowing however, I prefer having a cloth satchel in my toolbelt. Selecting the toolbelt slot containing the satchel will then activate the first item inside the satchel.

1 person likes this

Share this post


Link to post
Share on other sites

cant que sow actions from satchel using toolbelt tho....I keep 3 actions ahead when sowing so still must use the inventory......LOVE the setup tho.....so nice to change toolsets with the push of a button that also changes keybinds in same keystroke...genius I tell ya....pure genius haha...Still saying needs stickied....

Share this post


Link to post
Share on other sites

Keybinds are one of those things you think 'meh, who needs them?' until you try them. 20 mins later your thinking 'HOW DID I LIVE WITHOUT THEM!?'. Especially repair and imp...

cant que sow actions from satchel using toolbelt tho....I keep 3 actions ahead when sowing so still must use the inventory
You can, but the container in the toolbelt will always activate the first seed, so you have to have x containers with seeds in your toolbelt to be able to queue them up (where x = number of sowing actions you wish to queue).

I'll move this to the guides forum.

1 person likes this

Share this post


Link to post
Share on other sites

Really nice guide. Should be added to the wiki.

Share this post


Link to post
Share on other sites

Really nice guide. Should be added to the wiki.

It is already more or less in the wiki - this set up was inspired by a wiki article (he referenced it early on in the post).

Share this post


Link to post
Share on other sites

im trying to create some quick switch hot keys and so far its been ok as in making the binds and the .txt file, but thats when i hit a problem was when i tested my hot key, i set up the file as a default.txt so as to reset to my originals kinds... so i have my movement keys and a couple of "say ....." keys well when i activate it, it only binds my W (move_forward) bind, the other 6 which are Q,E,R,A,S,D (R for autorun) well it says in console stuff like unknown command: move_left\ , for some reason its adding a backslash "\" to the 6 binds after W , can anyone help me? if you need more information let me know ill try my best.

Share this post


Link to post
Share on other sites

Question 


 


bind Next TURN_DOWN


bind Prior TURN_UP


 


Where are these keys?


Edited by smellyfeet

Share this post


Link to post
Share on other sites

Ty ^^


 




Question 


 


bind Next TURN_DOWN


bind Prior TURN_UP


 


Where are these keys?




 


Prior and Next are simply the LWJGL key names for Page Up and Page Down, respectively.


 


You can find a list of key codes and names at http://www.minecraftwiki.net/wiki/Key_Codes (both games use LWJGL).


1 person likes this

Share this post


Link to post
Share on other sites

So I just started the game and learning all this stuff and have to ask, why is an important keybind to call for guard help such an annoyance with Ctrl Shift F1?


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0