Device::is_grabbed() -> bool
Devicenow implementsDebug.Devicenow callsungrab()on Drop.
-
Create a
...Eventstruct for eachEventTypeto hold theInputEvent- Guarantee that each
...Eventstruct can only hold aInputEventof the correspondingEventType
- Guarantee that each
-
Demonstrate what the
FFEventdoes in theforce_feedbackexample. -
Device,RawDevice, andVirtualDevicenow implementAsFd. -
VirtualDevice::builder()as an alias forVirtualDeviceBuilder::new()VirtualDeviceBuilder::new()is now deprecated.
-
Removed the
evdev::Errortype - fallible functions now just returnio::Error. -
Consistent naming and structure of all new-types for event-codes
- Some of them where previously named
...Typenow they are all named...Code - Rename
InputEventKindtoEventSummary - Created missing
EventSummaryvariants. I know some of them are kind of unused but it is less confusing if they are all there and look the same. - Each variant of the
EventSummaryenum now has the structureVariant(...Event, ...Type, value) - Renamed
Keystruct (the one with all the Key constants) toKeyCodeto keep the naming consistent!
- Some of them where previously named
-
Rename
InputEvent::kindtoInputEvent::destructurethis now returns aEventSummary -
InputEvent::newno longer takes theEventTypebutu16as first argument. If theEventTypeis known we can directly construct the correct variant. -
Ensure the unsafe code still does what we expect.
-
Update the Examples.
-
The minimum supported rust version (MSRV) is now
1.63, due toAsFdsupport. -
In order for the
EventStreamtypes to implement Stream, thestream-traitfeature must now be specified. -
FFEffectandAutoRepeatare now defined in the root of the crate instead of inraw_stream. -
VirtualDeviceBuilder::with_physnow accepts a&CStrinstead of a&str.
- Update
VirtualDevice::fetch_eventsto yieldInputEvents instead ofUInputEvents. That was a bug which was not accounted for be the type system. YieldingUInputEvents there will now panic.
&AttributeSetRefand&mut AttributeSetRefnow implementDefault.&AttributeSetRefnow implementsIntoIterator.AttributeSetnow implementsFromIterator<&T>.
enumerate_dev_nodes[_blocking]now always returns a path to a file in/dev/input
- Add
Device::max_ff_effects()to return the maximum number of force feedback effects that can be played simultaneously. - Add support for
EV_MSC(miscellaneous events) toVirtualDeviceBuilder. - Add support for device properties to
VirtualDeviceBuilder.
- Examples now show the device path of the virtual device.
- Avoid infinite loop in
DevNodes::next_entry(). - Fix issue on 32-bit platforms where
tv_sec(time_t) is 32-bit. - Fix documentation links.
- Document all the features (on docs.rs).
- Document
FFEffect. - Publicly export
FFEffectfrom root. - Add
FFEffect::id()as an accessor for the effect ID. - Add missing
EventStream::device_mut()insync_stream.rs.
- Make sure that the
DevNodesBlockingiterator is not blocking indefinitely when all entries in the directory have been exhausted. - Fix incorrect cast in
eviocrmffto support 32-bit platforms #82. - FreeBSD support #88.
- Add a
CHANGELOG.mdwith a changelog for each new release. - Force feedback support #74.
- Implement serde support for
evdev_enum!types andInputEventKind#76. - Implement
VirtualDevice::get_sys_path()as well as an iterator over the device node paths for virtual devices #72. - Implement an
Errortype #75. - Add
EventStream::device_mut()to get a mutable reference toRawDevice#73. - Add support for absolute axes for virtual devices #71.
- Documentation and code tidying #67.
- Introduce
RawDevice::sys_pathandDevice::sys_path#62. - Implement
FromIteratorforAttributeSet.
- Update bitvec to 1.0.
- Introduce
RawDevice::send_eventandDevice::send_eventto toggle LEDs, play sounds and play force feedback effects #60.
- Fix a bug in
compensate_eventswhere it returned the same event when invokingnext()multiple times #61.
- Update bitvec to 1.0.0-rc1.
- Implement
Device::grabandDevice::ungrab - Implement
VirtualDeviceBuilder::with_switches. - Support autorepeats and getting keymap entries.
- Update nix to 0.23.