Пример #1
0
 // If a stick has no bindings associated with it, remove it from the Dictionary, so the Monitor thread does not poll it
 private bool RemoveStickIfEmpty(Guid guid)
 {
     if (DirectXSticks[guid].IsEmpty())
     {
         DirectXSticks.Remove(guid);
         SetMonitorState();
         return(true);
     }
     return(false);
 }
Пример #2
0
            public bool Remove(string guidStr, JoystickOffset offset, string id, int povDirection = 0)
            {
                Guid guid = new Guid(guidStr);

                if (!DirectXSticks.ContainsKey(guid))
                {
                    return(false);
                }
                var ret = DirectXSticks[guid].Remove(offset, id, povDirection);

                RemoveStickIfEmpty(guid);
                return(ret);
            }
Пример #3
0
            // DirectInput
            public bool RegisterStick(string guidStr)
            {
                Guid     guid = new Guid(guidStr);
                Joystick joystick;

                if (!DirectXSticks.ContainsKey(guid))
                {
                    try
                    {
                        joystick = new Joystick(directInput, guid);
                    }
                    catch
                    {
                        return(false);
                    }
                    var stick = new SubscribedDirectXStick(joystick);
                    DirectXSticks.Add(guid, stick);
                }
                return(true);
            }