Ejemplo n.º 1
0
        public static string ToShortString(this ControlSubTypeEnum subType)
        {
            switch (subType)
            {
            case ControlSubTypeEnum.Normal:
                return("");

            case ControlSubTypeEnum.Inverted:
                return("I");

            case ControlSubTypeEnum.Half:
                return("H");

            case ControlSubTypeEnum.InvertedHalf:
                return("IH");

            case ControlSubTypeEnum.HatUp:
                return("Up");

            case ControlSubTypeEnum.HatDown:
                return("Down");

            case ControlSubTypeEnum.HatLeft:
                return("Left");

            case ControlSubTypeEnum.HatRight:
                return("Right");

            default:
                throw new ArgumentException("Nonexistent subtype.", nameof(subType));
            }
        }
Ejemplo n.º 2
0
 byte Analog(ControlSubTypeEnum subType, byte num)
 {
     int p = analogs[num];
     switch (subType)
     {
         case ControlSubTypeEnum.Normal:
             return (byte)(p / 256);
         case ControlSubTypeEnum.Inverted:
             return (byte)((65535 - p) / 256);
         case ControlSubTypeEnum.Half:
             int m = (p - 32767) / 129;
             if (m < 0)
             {
                 m = 0;
             }
             return (byte)m;
         case ControlSubTypeEnum.InvertedHalf:
             m = (p - 32767) / 129;
             if (-m < 0)
             {
                 m = 0;
             }
             return (byte)-m;
     }
     return 0;
 }
Ejemplo n.º 3
0
 public ControlMapping(ControlTypeEnum type = ControlTypeEnum.Disabled, ControlSubTypeEnum subType = ControlSubTypeEnum.Normal, byte inputIndex = 0, byte outputIndex = 0)
 {
     InputControl = new InputControl()
     {
         Type = type, SubType = subType, InputIndex = inputIndex
     };
     OutputIndex = outputIndex;
 }
Ejemplo n.º 4
0
 byte DPad(ControlSubTypeEnum subType, byte num)
 {
     int i = (int)toByte(getPov(num)[(int)subType-4]) * 255;
     return (byte)i;
 }
Ejemplo n.º 5
0
 byte Button(ControlSubTypeEnum subType, byte num)
 {
     int i = (int)toByte(buttons[num]) * 255;
     return (byte)i;
 }