Ham's Keyboard Project

Discussion in 'Guides' started by ham, May 25, 2017.

  1. ham

    ham Well-Known Member
    UO:R Subscriber
    UO:R Donor

    Joined:
    Apr 29, 2017
    Messages:
    388
    Likes Received:
    366
    Ham's Keyboard Project

    [​IMG]


    >>> Github Repo: https://github.com/hamUOR/uor-keyboard/wiki

    ---

    TLDR; I'm trying to come up with a keyboard layout that is logical and shareable for new players.

    Problem


    Imagine this. Someone gives you 26 keyboard letters of the alphabet, and they tell you to “set up your keyboard in a way you feel is natural”. What could go wrong?

    Well turns out most people arrange it in A,B,C,D... which was a terrible idea. And thus QWERTY evolved.

    That’s basically what we have in UO Macros. Heres some pots, a bunch of spells, and skills. Now lay it out however you want!

    Goal

    To define a keyboard layout that "makes sense" to give to new players and myself. I want to be able to give my friends a keyboard layout the can just load into razor and get going, lowering the barriers of entry into PvP and general gameplay.

    This layout should have the 3 following properties:

    1. It should be intuitive. You shouldn’t have to think.
    We should leverage “industry standards” from dominant games when possible.​

    2. It should feel natural.
    ie. After you cast heal, and you want to target yourself, the fingers should just flow. You shouldn’t have to jump around.​

    3. It should be easy to extend.
    ie. The keyboard layout should be a foundation, but easy to extend with your own customizations.​

    Motivation

    I wanted to PvP. But there is so much going on… so many key bindings. You could spend hours discovering the necessary macros, and more configuring them. I realized after reading and some discussion, that one very important aspect to understanding it all is keyboard layout. A lot of people said “its up to you, do what makes you feel comfortable”, but this means each new player would have to go through hours and hours to figure this out? I really want to save people the trouble.

    Who Is This For

    Me! New players, or players with no PvP experience.

    Vets with their own set up macros, probably have no need for this project.

    My Background

    The most relevant background I have in this is that I used to be a concert pianist, where fingerings is incredibly important. In piano, “fingering” is basically playing the notes in a specific order with specific fingers, so that your hand naturally flows into the next position. This allows you to execute fast passages with extreme accuracy. I will try to leverage this experience when designing the layout.

    Method

    I will be conducting various interviews and surveys collecting data to see what keys people seem to use the most. Using data from each survey, I will create more surveys and come up with drafts of keyboards and experiment with each of them. Lots of trail and error.

    Final Thoughts
    This is mostly a personal quest for myself, but also want to share my work with the community.

    Changelog

    Code:
    10/20/17 - High level keyboard image, base bindings (no files yet)
    05/25/17 - Start keyboard project, released first survey.
    
    Last edited: Oct 20, 2017
    Semaj and Soma Holiday like this.
  2. ham

    ham Well-Known Member
    UO:R Subscriber
    UO:R Donor

    Joined:
    Apr 29, 2017
    Messages:
    388
    Likes Received:
    366
  3. Random

    Random Well-Known Member

    Joined:
    Apr 6, 2014
    Messages:
    306
    Likes Received:
    533
    I filled it, no trolling all seriousness !
    PaddyOBrien likes this.
  4. ham

    ham Well-Known Member
    UO:R Subscriber
    UO:R Donor

    Joined:
    Apr 29, 2017
    Messages:
    388
    Likes Received:
    366
    Thank you for all the responses so far!
  5. Kilgore Trout

    Kilgore Trout Active Member
    UO:R Subscriber

    Joined:
    Jan 28, 2016
    Messages:
    166
    Likes Received:
    120
    Fun fact - QWERTY "evolved" to due to keys jamming on typewriters because the common letters were too close and people were typing too fast. The QWERTY arrangement solved that problem by placing common keys farther apart. There's a newer layout (Dvorak) that's supposed to be more efficient, but it never really caught on.
  6. Xainlich

    Xainlich New Member

    Joined:
    Feb 13, 2017
    Messages:
    26
    Likes Received:
    22
    Dvorak also has a layout for individuals with only a left or right hand. Just like the two-handed Dvorak layout, the keys are arranged based on their frequency of use!
  7. compsays

    compsays Active Member
    UO:R Subscriber

    Joined:
    Feb 20, 2017
    Messages:
    364
    Likes Received:
    140
    I have completed your survey. Probably not very useful, but there y'go. Good luck with the project.
  8. Kilgore Trout

    Kilgore Trout Active Member
    UO:R Subscriber

    Joined:
    Jan 28, 2016
    Messages:
    166
    Likes Received:
    120
  9. ham

    ham Well-Known Member
    UO:R Subscriber
    UO:R Donor

    Joined:
    Apr 29, 2017
    Messages:
    388
    Likes Received:
    366
    Everything helps!
    I'm very close to having a first draft. It's interesting to see what features people think are important. And also interesting to see how people are generally want to have to same mental model of layout, but lose their consistency at some point.

    I've been experimenting with a lot of the bindings people use to figure out which ones are better than others.

    One example is targeting. Some people use keys for targeting, but others interestingly use the MWHEEL. I've been trying to mwheel method, but it's very easy to accidentally queue a target if you have mwheel bound to "Target closest grey" (not sure how the mwheel crowd gets around this issue).

    More to come soon!
  10. Kilgore Trout

    Kilgore Trout Active Member
    UO:R Subscriber

    Joined:
    Jan 28, 2016
    Messages:
    166
    Likes Received:
    120
    Or scrolling through items when buying regs at the magery and you queue a crapload of targets. I have a macro to clear my target queue that I use a lot.
  11. ham

    ham Well-Known Member
    UO:R Subscriber
    UO:R Donor

    Joined:
    Apr 29, 2017
    Messages:
    388
    Likes Received:
    366
    Ah yeah i see. I had never tried the MWHEEL method so i wanted to use it just to evaluate it. It's unfortunate that it basically creates a "macro dependency" between to features. ie. In order to use the MWHEEL macro, you MUST have another macro bound to "CLEAR" for practical purposes.

    I found it also tough to control with these new ball bearing scrollwheels, that can trigger multiple scroll events very easily when you flick the mwheel.

    Good idea though, to have a clear macro for that one if using the MWHEEL targeting.
  12. Holden

    Holden Well-Known Member

    Joined:
    Jul 13, 2014
    Messages:
    949
    Likes Received:
    943
    Also an option to not que targets. I use this but don't PvP, so I have no idea on efficacy.
  13. ham

    ham Well-Known Member
    UO:R Subscriber
    UO:R Donor

    Joined:
    Apr 29, 2017
    Messages:
    388
    Likes Received:
    366
    Last edited: Oct 20, 2017
  14. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    689
    Likes Received:
    464
    Nice project!

    In the past I've done some spreadsheets trying to figure out best keystrokes, categorizing them by access time, and macros/skills access time required, then I matched them up and got a kyeboard layout... I think that not everything "flows" but at least it has some order.

    I played on a private Sphere Server back in the day and gameplay was quite different, so I had to remap many keys... many hours, days, fixing and learning changes.

    I'm not near as good in PvP here but I used to be good and Keybindings play a big role in that matter.

    I hope you will get a friendly layout to start with for new players or even help to improve veteran's keybindings.

    Already answered the survey!


    PS: About last target using MWHEELUP and target self MWHEELDOWN, you just need to disable target queue in Razor! I tried to play with queue some time ago but it is not my thing, maybe because lag I'm always over 230ms ping :(

Share This Page