Enum input::event::tablet_tool::TabletToolEvent
[−]
[src]
pub enum TabletToolEvent {
Axis(TabletToolAxisEvent),
Proximity(TabletToolProximityEvent),
Tip(TabletToolTipEvent),
Button(TabletToolButtonEvent),
}An event related to a tablet tool
Variants
Axis(TabletToolAxisEvent)One or more axes have changed state on a device with the
DeviceCapability::TabletTool capability.
This event is only sent when the tool is in proximity, see
TabletToolProximityEvent for details.
The proximity event contains the initial state of the axis as the tool comes into
proximity. An event of type TabletToolAxisEvent is only sent when an axis value
changes from this initial state. It is possible for a tool to enter and leave
proximity without sending an event of type TabletToolAxisEvent.
An event of type TabletToolAxisEvent is sent when the tip state does not
change. See the documentation for TabletToolTipEvent for more details.
Proximity(TabletToolProximityEvent)Signals that a tool has come in or out of proximity of a device with the
DeviceCapability::TabletTool capability.
Proximity events contain each of the current values for each axis, and these
values may be extracted from them in the same way they are with
TabletToolAxisEvent events.
Some tools may always be in proximity. For these tools, proximity events with
ProximityState::In are sent only once after DeviceAddedEvent, and proximity
events with ProximityState::Out are sent only once before DeviceRemovedEvent.
If the tool that comes into proximity supports x/y coordinates, libinput guarantees that both x and y are set in the proximity event.
When a tool goes out of proximity, the value of every axis should be assumed to have an undefined state and any buttons that are currently held down on the stylus are marked as released. Button release events for each button that was held down on the stylus are sent before the proximity out event.
Tip(TabletToolTipEvent)Signals that a tool has come in contact with the surface of a device with the
DeviceCapability::TabletTool capability.
On devices without distance proximity detection, the TabletToolTipEvent is sent
immediately after TabletToolProximityEvent for the tip down event, and
immediately before for the tip up event.
The decision when a tip touches the surface is device-dependent and may be
derived from pressure data or other means. If the tip state is changed by axes
changing state, the TabletToolTipEvent includes the changed axes and no
additional axis event is sent for this state change. In other words, a caller
must look at both TabletToolAxisEvent and TabletToolTipEvent events to know
the current state of the axes.
If a button state change occurs at the same time as a tip state change, the order of events is device-dependent.
Button(TabletToolButtonEvent)Signals that a tool has changed a logical button state on a device with the
DeviceCapability::TabletTool capability.
Button state changes occur on their own and do not include axis state changes. If
button and axis state changes occur within the same logical hardware event, the
order of the TabletToolButtonEvent and TabletToolAxisEvent is device-specific.
This event is not to be confused with the button events emitted by the tablet
pad. See TabletPadButtonEvent.
Trait Implementations
impl Debug for TabletToolEvent[src]
impl PartialEq for TabletToolEvent[src]
fn eq(&self, __arg_0: &TabletToolEvent) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &TabletToolEvent) -> bool
This method tests for !=.
impl Eq for TabletToolEvent[src]
impl Hash for TabletToolEvent[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher1.3.0
Feeds a slice of this type into the state provided.
impl EventTrait for TabletToolEvent[src]
fn into_event(self) -> Event where Self: Sized
Convert into a general Event again
fn context(&self) -> Libinput
Get the libinput context from the event.
fn device(&self) -> Device
Return the device associated with this event. Read more
impl FromRaw<libinput_event_tablet_tool> for TabletToolEvent[src]
unsafe fn from_raw(event: *mut libinput_event_tablet_tool) -> Self
Create a new instance of this type from a raw pointer. Read more
impl AsRaw<libinput_event_tablet_tool> for TabletToolEvent[src]
fn as_raw(&self) -> *const libinput_event_tablet_tool
Receive a raw pointer representing this type.