8

While the letter X is not copy protected, the specific cross used on the controller, along with the other shapes: , are trademarked. Using your own art to represent the buttons (as in your example image), should be OK under fair use, specifically nominative fair use. Where the qualifications for nominative fair use are one of the following situations: ...


7

Below is a helpful image guide, provided by the Unify Community Wiki article on the Xbox 360 controller. Make sure you use Axis The triggers are represented as axis, as opposed to buttons. This is because the triggers output a value based on how far down they have been pressed. A trigger can output a value of 0.5 if only half-way pressed, while a button ...


6

I don't know if it is because of a poor component that causes the false readings or a extremely precise component that registers the spinning of the earth, as it orbits the sun, as our solar system spirals through the galaxy. Either way, this is a common problem. The solution is to use some type of filter to smooth out the "extra" readings. There are ...


6

Possible cause : From your code, no visible sources of lag are present. The lag may come from the way they are accessed from the game loop thread. Dont forget, the variables have to be synchronized, or you have to use locks for your app to be thread safe. The lag you experienced may be from the fact that you increment the x and y by 5 each. I am guessing ...


4

Read the wiki! Controllers connects/disconnects don't give listener events (right now), so controllers must be polled manually. The wiki says controller listeners don't work on the desktop for connects or disconnects. I'm no expert, I've just been reading the wiki in detail, but it looks to me like you must poll the controllers manually. This code will ...


4

As others have explained, controllers (especially simple controllers like these) are supposed to work out of the box, with the standard input libraries of your operating system (DirectInput in Windows). It seems like you're interested in knowing who makes these, so I tried a bit of google, and found that "RetroLink" is a registered trademark of a USA ...


4

TL;DR - Ideally you should allow all controllers to open up your game's options menu and select the "Primary" controller (which can be defaulted to the first controller you see). That controller is the only one that can make changes to your game. If you detect that controller disconnecting, you can pause your game and open up the same options menu and ask ...


4

No, you do not need authorization from Microsoft to support Xbox 360 controllers. You can use the XInput API for free.


3

Detecting swipe curvature Treat the finger swipe as a polyline. Approximate its curvature, and use that as a multiplier for how much to “curl” the resulting shot either left or right. Let's say a swipe path has no curvature if it goes linearly from the start (the circle), to the end, or curvature value 0. I'll emphasise other swipes' differences to this ...


3

Your problem is that you are doing the update logic in keyPressed() method. When you press a key, AWT will call this method once. After a delay (typically 250-1000 milliseconds) it starts calling this method again repeatedly with a smaller delay (typically 30-400 milliseconds). When the key is released, this repetition stops and keyReleased() method is ...


3

I solved a similar problem once with the Wii remote - but we didn't have the gyroscopes & magnetometers common in mobile devices today (the Wii Motion Plus was just coming out at the time), just accelerometer. Here's a modified version of the approach... Keep track of a reference frame - say, a current "up" and "right" vector, or a quaternion. ...


3

According to the FCC instruction filing for Stratus XL, the center round key is intended to be a home key. If that's correct, there might not be much you can do, as the developer reference for the home key states: KEYCODE_HOME added in API level 1 int KEYCODE_HOME Key code constant: Home key. This key is handled by the framework and is never delivered ...


2

You can do it in a similar way to keyboard, storing the state by yourself: enum States {None, GoingDown, GoingUp } States Current, Previous; void Update() { Previous = Current; if (thumbStiscks.Y>0.5 || keyState.IsKeyDown(Keys.Up)) State = States.GoingUp; else if (thumbSticks.Y<-0.5f || ...


2

Take the resulting vector Dir from subtracting the start point from the end point. Now use atan2(Dir.y, Dir.x) to get the angle of the vector (angle between positive X axis). Use that angle to decide the direction of the swipe. Include your dead zones as desired. You can easily utilize something like this answer. Where your direction could be: enum ...


2

Since Android devices don't have left/right buttons (well, a long time ago they used to, and if you use bluetooth keyboard/gamepads they will), what you want is onscreen buttons. If you search for that then you will find plenty of answers and tutorials. The easiest method is to use the built-in GUI.Button class. There are many other ways to do it, such as ...


2

You can set up new axes for joysticks in the input manager by using "Joystick Axis" for the Type. The left stick would need two entries in the input manager, one horizontal (using the X axis), and one vertical (using the Y axis). The right joystick , using the 3rd and 4th axes. To use this in scripting, you need to get through Input.GetAxis("Joystick Left"), ...


2

Yes, PS3 controllers are a different configuration than the Xbox controllers. XBox maps to XInput while PS3 is proprietary. If you treat Button 1 on all joysticks as the fire button, then yes it will be inconsistent. The problem gets even worse if you assume the axis's are the same. Fortunately, you can map them however you want in Unity's Input Manager. ...


2

how to get from the game inside the type of force feedback This is a game design question. Once you know what feedback features are available for the controller in use, whether it is a game controller with a rumble pack, or a steering wheel with force feedback, you need to decide what you will do with it. What will you transfer from the game universe ...


2

Check out node-virtual-gamepads. It does almost what you want (doesn't seem to have accelerometer support yet). From its blurb: This nodejs application provides the possibility to use your smarpthone as a gamepad controller on Linux OS simply by reaching a local address. You can virtually plug up to 4 gamepad controllers. If for some reason you want to ...


2

Try implementing a property to keep track of your previous pressed state. So then you can do something like this instead: ButtonState PreviousButtonState; // Only action button press once if (PreviousButtonState.Buttons.B != ButtonState.Pressed && currPad.Buttons.B == ButtonState.Pressed) { if (m_currState == AnimState.FacingRight) { ...


2

Apart from legal issues, the colors you chose are just plain confusing. On a first party controller (which most people use) A is green, B is red, X is blue and Y is yellow. These make sense based on the most common uses for these. A is generally used for confirming actions, B is for "back" or "no", etc. Making the button colors differ from what's in front ...


2

Xinput library only supports 4 controllers at a time - please refer to the wiki page on Directinput -DirectInput Wiki. May take some work, but you could enumerate some of the controllers under Direct Input initially, then eliminate those being detected by XInput. That would require interrogating the GUIDs on the controllers. I believe you can obtain them ...


1

I would say there is no such standard, because there are no WiFi game controllers. All the wireless game controllers I checked use either Bluetooth or some proprietary wireless data transmission. This makes sense as WiFi typically uses more power than Bluetooth and is harder to set up. A wireless network might not even be available on location. That ...


1

Changing the EventSystem's following values: Input Actions Per Second: 2 Repeat Delay: 0.3 This makes it more responsive, but is not ideal because it involves changing the EventSystem present in every scene. If someone has a better solution, I'd be happy to hear it.


1

I had your same problem. In my case It got fixed by closing unity and reconnecting the PS3 controller before starting Unity again. Maybe it helps


1

The PS3 controller is not directly compatible with PC. You will need a driver and a program to translate the controls to the format used on a PC. If you search the net, most articles will refer to an app called MotionInJoy but I've read many reports online that it is adware (maybe worse) and it's advised to avoid it. I've not used it but better safe than ...


1

Here we are just one script, assign it to the cube TargetSlideControl.cs using UnityEngine; using System.Collections; public class TargetSlideControl : MonoBehaviour { public int SPEED = 1; public Transform leftTrigger; public Transform rightTrigger; // Use this for initialization void Start () { } // Update is called once per frame void Update () { ...


1

If your objects are not animated I'd make just a transform animation between first and the second. When you want to change the objects you just play the animation and stop at the end. If you want to change back, you just play the same animation backwards, to 0. When you objects have their own animations it gets more tricky so in such case I'd make separate ...


1

I've found that using XInput.Net fixed the immediate problem for me. As what I need to do is fairly simple I think this is going to be a good solution.


1

Rather than polling for events, where the only option for higher precision is to poll faster, you could try listening for the events directly. You can attach an event listener to the windows event queue like so: // Define a message filter which all messages will pass through private class Filter : IMessageFilter { public bool PreFilterMessage(ref ...


Only top voted, non community-wiki answers of a minimum length are eligible