Driver
The driver for the Wooting One is aptly named Wootility, as we saw before, and can be
downloaded here. At the time of review, the latest version available was 1.0.8, although Wooting has been quickly updating the driver to squash bugs and add user-requested features. The installer is 35.6 MB in size and takes up 166 MB once installed. The installer downloads as a self-opening archive and installs the driver without giving the end user any options whatsoever. When I brought this up by saying that Wooting is effectively not giving users the opportunity to accept or deny the terms of service, Wooting mentioned that this had not come up as a complaint and that they had not considered it until I mentioned it. This is perhaps where the small business startup is showing its lack of experience, but they are adding it to the installer sooner rather than later, and the frank discussions I had with them with zero stubbornness on their part will help a lot. Incidentally, the webpage linked above also acts as a starting point to learn more about the driver and includes the patch notes.
The first thing I do after connecting a device and installing the driver is to check for any firmware updates. Wootility helps here by drawing our attention to an update via a notification, and the update process went smoothly - until it did not. The driver recognized that my keyboard was on FW 1.3 and that version 1.9 was the latest, so it went ahead and did the update. But after having restarted the driver, I saw another notification on a newer version 1.10 being available, and the driver did a two-step update rather than recognizing 1.10 from the onset. Wooting has said that this was originally planned as a fail-safe in case people press on the option to update the firmware multiple times, and that they are in the process of making sure (or may already have in the time since) this double-update procedure does not take place anymore.
The driver is straightforward and functionality well laid out, so props to Wooting for the decent UX effort here. The general settings pop up in a window, and here is where I would like to see tooltips added into the driver rather than a link to their knowledge base. The profile manager is neat in that there are four profiles that are already created and saved on to the device (one digital, three analog), and you can edit these or import ones created by you or others by using a unique identifier key assigned to each profile. The four profiles remain onboard the keyboard, and thus, you will not need the driver to get these up and running, which is an extremely important point here and allows users to take this keyboard to LAN events for its analog control while others are stuck on digital control.
Lighting on the Wooting One via Wootility is very simple and really more about function than form. Do not expect to see fancy lighting effects here. They may well come in due time, but as it is right now, the four profiles are associated with a static lighting effect to help visually distinguish them when changing from one to another. You can also manually set keys to any R/G/B channel in 256 brightness steps for a total of 16.8 M colors, so one application that immediately comes to mind is to set the keys assigned to a specific analog control to a different color than the rest. You can also set colors by hex code or, using a slider present here, change the keyboard's brightness as a whole from 0%-100% in 1% steps.
By default, the Wooting One is in digital mode, so it will run like a regular keyboard when connected. Wootility allows you to re-assign some functions, including the hotkeys to swap into the three analog profiles and - in a first for me - change the actuation point of the keyboard's keys from 1.5-3.6 mm. There are tooltips here, which are nice to see, and note that at this time, you can only change the actuation point in the digital profile for all keys at once. Wooting has
plans to allow for per-key actuation point control, however, even if it is only for some specific keys. They told me that this is not a hardware or software limitation as much as it is one of time and priority.
The next set of controls in the digital profile, as of v1.0.8 anyway, is for DKS (double keystroke), which allows you to bind two keystrokes to the same key as per their actuation points. This is similar to the Force FX controls we saw on the Roccat Isku+ Force FX, wherein the amount of pressure applied to a key was tied to three different keystrokes at most, but in the digital profile here, it is not the best implementation, and I also noticed some bugs where they did not apply. Firmware 1.11 released a few days into my writing of the review resolved these bugs, and then Wooting released a public driver release v2.0.3 that added DKS to the profile manager and, more importantly, moved it to their analog profiles. As such, users can now have a set keystroke to use the keyboard as per usual (say, "W" as itself at 3.6 mm) while keeping analog control in the actuation range preceding it (or following it depending on the set value), which gives you the best of both worlds. I did test it briefly since it was such an important change, and it made things a lot simpler and more effective to manage for analog profiles, which I will describe below.
The analog profiles are definitely where you will end up spending a lot of your time as you set this keyboard up to suit your preferences for particular games. As we saw before, Wooting provides three pre-programmed analog profiles that are also associated with red, green, and blue static color schemes that can, of course, be changed. Lighting aside, there are two types of gamepad inputs available - the standard XBOX controller (so-called Xinput) and a full analog joystick/gamepad, which offers more freedom, but comes at the cost of fewer game profiles and a steeper learning curve. I recommend sticking with Xinput for now since most games you will use analog controls with on a PC will have XBOX-controller support. As such, you can assign every single button, joystick, and trigger on the controller to a key on the Wooting One to simulate it. This freedom, coupled with DKS now being associated with analog profiles, means that even if the game is confused by what you have and does not recognize the keyboard as a controller, you will still be able to run it as a standard keyboard in a worst-case scenario.
There was cause for confusion here with the retention of the actuation-point section with analog profiles since this really does not influence the analog settings at all. Wooting rightly saw it fit to move this part to a separate section so people know for sure whether it only affects the digital aspect of the keys in v2.0.3, so they managed to avoid loosing some points here. What they do not get away with, however, is that incredibly broad "Advanced gamepad settings" section right below it. Granted, it did get some refinement in the latest version that was just released, but it still needs more work. It can easily overwhelm the vast majority of the user base as it is now, especially since a lot of games with controller support have similar, if not identical, settings with no word on what set gets preference. I want to have the option to set specific analog key-height ranges and want a set dedicated to other analog or digital controls. DKS added to analog controls is a good step in the interim, but I don't want to have a single key-height for a keystroke here when I want to, say, maintain the speed of my car in a driving SIM without having to worry about the key's up or down movement affecting acceleration or braking. Similarly, in an example Wooting themselves provided, you will thus be able to adopt controls in, "...games like CS:GO where you can have the perfect analog walking speed that will move you forward while keeping your crosshair steady, thus causing even less bullet spread than shift-walk."
Wooting is aware of this, and what they have done in v2.0.3 is promising. What is more promising is where all these quick changes are coming from. There is a public roadmap available for anyone to see
here wherein user requests, bugs, and so on get added and voted on for implementation. The overhaul for analog controls happened because of this, and while the current settings for analog curves are nice, there is no visual feedback in the driver, and that is another item up for change. As of v1.0.8, I had things to complain about, including an annoying bug with DKS. It was good timing then that v2.0.3 came along with the new firmware that resolved of all my issues and went a large way towards addressing some of my preferences as well. For example, having the response curve axes labeled and adding a quantifying range to both, even if it be a percentage scale, will help when fine-tuning curves and keeping track of changes.