Beispiel #1
0
        // readers
        //-------------------------------------------------
        //  read_as_switch - return the raw switch value,
        //  modified as necessary
        //-------------------------------------------------
        public override int read_as_switch(input_item_modifier modifier)
        {
            // if we're doing a lightgun reload hack, button 1 and 2 operate differently
            input_device_class devclass = device().devclass();

            if (devclass == input_device_class.DEVICE_CLASS_LIGHTGUN && device().lightgun_reload_button())
            {
                // button 1 is pressed if either button 1 or 2 are active
                if (itemid() == input_item_id.ITEM_ID_BUTTON1)
                {
                    input_device_item button2_item = device().item(input_item_id.ITEM_ID_BUTTON2);
                    if (button2_item != null)
                    {
                        return(button2_item.update_value() | update_value());
                    }
                }

                // button 2 is never officially pressed
                if (itemid() == input_item_id.ITEM_ID_BUTTON2)
                {
                    return(0);
                }
            }

            // steadykey for keyboards
            if (devclass == input_device_class.DEVICE_CLASS_KEYBOARD && device().steadykey_enabled())
            {
                return(m_steadykey);
            }

            // everything else is just the current value as-is
            return(update_value());
        }
Beispiel #2
0
 public abstract s32 read_as_relative(input_item_modifier modifier);
Beispiel #3
0
 public abstract s32 read_as_absolute(input_item_modifier modifier);
Beispiel #4
0
 public override s32 read_as_absolute(input_item_modifier modifier)
 {
     throw new emu_unimplemented();
 }
Beispiel #5
0
 // readers
 public abstract s32 read_as_switch(input_item_modifier modifier);
Beispiel #6
0
 //-------------------------------------------------
 //  read_as_absolute - return the switch input as
 //  an absolute axis value
 //-------------------------------------------------
 public override int read_as_absolute(input_item_modifier modifier)
 {
     // no translation to absolute
     return(0);
 }
Beispiel #7
0
 public override int read_as_relative(input_item_modifier modifier)
 {
     throw new emu_unimplemented();
 }
Beispiel #8
0
 //-------------------------------------------------
 //  read_as_relative - return the switch input as
 //  a relative axis value
 //-------------------------------------------------
 public override int read_as_relative(input_item_modifier modifier)
 {
     // no translation to relative
     return(0);
 }
Beispiel #9
0
 public abstract bool item_check_axis(input_item_modifier modifiers, s32 memory);
Beispiel #10
0
 //-------------------------------------------------
 //  check_axis - see if axis has moved far enough
 //  to trigger a read when polling
 //-------------------------------------------------
 public bool check_axis(input_item_modifier modifier, s32 memory)
 {
     // use INVALID_AXIS_VALUE as a short-circuit
     return((memory != INVALID_AXIS_VALUE) && item_check_axis(modifier, memory));
 }
Beispiel #11
0
 public override bool item_check_axis(input_item_modifier modifier, s32 memory)
 {
     throw new emu_unimplemented();
 }
Beispiel #12
0
 //-------------------------------------------------
 //  item_check_axis - see if axis has moved far
 //  enough to trigger a read when polling
 //-------------------------------------------------
 public override bool item_check_axis(input_item_modifier modifiers, s32 memory)
 {
     return(false);
 }