![]() In the case of analog keyboards, we need the game to accept input from KB&M as well as the game controller simultaneously. All should be fine and dandy, right? Not quite. Sometimes, it’s more minor, such as wrong UI elements being displayed.The issues arise because the input handling in most games is resigned to accomplish two tasks: either accept and translate input from keyboard and mouse, or accept and translate input from a Xinput-controller. Sometimes, this leads to the game becoming unresponsive towards KB&M input. As the analog input handler of choice (let’s say, Xinput) reports actions to the game, the game assumes that the player must be using a game controller. Very little configuration is usually required (or even allowed at all!). Luckily, this translates to most games supporting Xinput out of the box. Xinput replaced the older DirectInput API sometime when the Xbox 360 came out, streamlining the input handling for controllers once and for all. Nowadays though, it has more or less become the industry standard as the API that governs controller input. Xinput is originally the API that allowed applications to receive input from the Xbox 360 Controller for Windows. In this modern day and age, the API of choice to handle analog input is most often Xinput. ![]() Mouse moves the camera, pressing a key moves your character in one direction, or performs an action. Shouldn’t come as a surprise that most games for the PC support this control scheme out of the box. ![]() Keyboard and mouse input (KBM, KB/M, KB&M)Īh, the old classic. This layer is usually the culprit for the incompatibilities you might see while using an analog keyboard, as the game has a hard time understanding both the keyboard and the game controller aspect of it at the same time.If you wish to learn more about input handling from a game development standpoint more specifically, this article should cover your needs.Let’s delve deeper into the different input methods and APIs available for use when designing a game. This is to say that the game should expect inputs from different devices simultaneously, to allow for more options. The input handling should be built in consideration for dynamic situations - to expect the unexpected. This is a very crucial layer to get right in terms of properly supporting analog keyboards. Input handling is the term given to how a game receives, interprets, and ultimately delivers an action upon keypress. I’ll explain why this is important in a bit. Effectively, this means that the computer sees it as a game controller, a keyboard or both at the same time. In short, analog keyboards work by allowing the keyboard’s output be translated with Windows’ keyboard and mouse APIs or through the controller API of choice, either DirectInput or Xinput. We’ve written two articles pertaining to this topic already, available here and here. ![]() From flashing UI elements to completely unexpected behaviour (looking at you, GTA V!), game support can sometimes be… interesting, to say the least.In this article, I will explore why analog keyboards can be problematic in a game, what causes these problems and what they look like and how developers can solve those issues. Considering that analog keyboards are a brand-new product category in today’s gaming peripheral market, it’s no wonder games sometimes lack the proper support for them.
0 Comments
Leave a Reply. |