Thank you Snakebyte for sending us this controller for review!
As a long time tech-lover, and having immersed myself for over a decade in the Open Source world, I have always had a soft spot for the Linux-based Android. Since its explosion in popularity in the last few years, I have been proud to own and use Android devices every day since. These include my phone and tablet, and now also work phone (no more Blackberry, yay!) being built on the quickly growing platform. Being an open ecosystem versus its tightly-controlled competition, there has been both a vibrant software community and a growing peripheral market. Snakebyte has sent us their entry into the Android compatible gamepad market.
While the vast majority of software on Android is used with a primarily touch-based interface, more and more software is taking advantage of that open nature, and supports gamepad peripherals. Unfortunately, as open platforms go, there is no such thing as a single 'standard'. Each manufacturer is attempts to deal with this in different ways. Some just emulate a standard PS3 controller (since Android 4.0 they are natively supported), while others try to offer something more. For some manufacturers, this may include custom software which tries to emulate a touch interface with a gamepad. Snakebyte takes a different approach. Rather than making custom software, they make it so that their hardware supports six different controller modes, each based on a popular standard. They felt that this way they could support as much as possible without needing to keep software up to date. And they mostly succeed.
Most games that support gamepads natively use HID (Human Interface Device) mode. In this mode, the games look at the attached controllers and use the ones that implement what buttons and axis they are looking for. The main mode, accessed by pressing power+X on the controller when turning it on, is the standard mode that most closely emulates the PS3 controller. The only button missing is the PS button, which is not needed for gaming, as you just exit the game when pressed. Most of this review was done in this mode.
I played several games, including Shine Runner, Dead Trigger, and others. I was very pleased with its performance. I did find it to lag a couple of times, but it could have been my device since it seemed to go away. I also was rather disappointed as certain games by some developers, like DotEmu, who make classic game ports that were converted from physical controllers in the first place, did not work well with this controller. But others, including some not listed on Snakebyte's compatibility page, worked flawlessly.
One selling point of this controller, as you might expect, is game emulation support. Legal gray area or not, it does make sense in the emulation friendly platform its targeting. And it works exceptionally well at this task. I prefer RetroArch, which is an excellent Open Source emulator which supports most common, and not so common, platforms. It also makes extra effort to support as many gamepads as possible, and in this area, they did not disappoint.
I do not have any games that require keyboard or iCade mode, at least that I know of. But those modes, while not really useful to me, did work with key presses as expected. Evidently, iCade emulates keyboard key presses as well, as that's what I saw while trying it in a text editor. I do not have any iOD devices to test it on. Snakebyte also warns that the keyboard must be set to US English for the device to work properly.
While testing it, I was curious what a PC would see when connecting to the idroid:con. Well, it turns out that depending on the chosen mode, it's a standard HID gamepad, or a HID keyboard, or a HID mouse, or some combination of those, for the various combo modes. The Xbox 360 emulation mode does not show up as an Xinput device, but all of the buttons function as the original would. A directInput to Xinput converter/emulator would likely work as desired if you wanted to use this gamepad as such on the PC. And the buttons are labeled the same as the Xbox as well. But I did not test this.
I find this controller to be quite comfortable. Looking at it, I was afraid that the buttons might feel cheaper than the PS3 controller, for example, despite a similar layout. And while it indeed doesn't feel quite as premium as those console controllers, in practice, I was pleased with their performance. The D-pad, which is notoriously difficult to get right, does an admirable job. While not quite up to Nintendo standards, I rarely felt like the controller got in the way, which is more than can be said with many other D-pads these days. It's also a nice touch that the power button doubles as a swap for the D-pad and the left analog stick, in case you have a preference one way or the other, for games that don't use both. I also found the longer-than-PS3 hand grips to be very comfortable in real-world use. At least with my large hands, I found them it to be more comfortable than the controller that the design was clearly inspired by.
I have only a few complaints. Occasionally, it would seem to disconnect or power off a bit more quickly than I wanted. Once I reconnected, it seemed to work okay after that. Also, at first I noticed that sometimes there would be appreciable lag in the response from the keypresses. It might have just been my tablet acting up; perhaps I rebooted it, I'm not sure, but this problem seemed to go away during more extended use. An ability to customize the keystrokes that the keyboard mode emulates would have been really useful, but since this controller strives to be the first Android/iOS controller with no software whatsoever, there's little that can be done about that. Another small complaint is that you need to unpair and re-pair the device every time you switch modes. It makes sense why this is so, but it's a slight hassle when using it.
Many games that use a single click mouse mode, like Angry Birds, can be played using the mouse mode. But unless your phone or tablet is hooked up to your PC, I see little reason to do that. But it did work in my testing.
I have to admit, I like this little controller. While it is not perfect, as clearly seen above, it does its job being a dedicated Android controller, and it's comfortable in the process. I think it's worth the reasonable price.