# Changelog ## evdev 0.12.1 [8fc58e1...af3c9b3](https://github.com/emberian/evdev/compare/8fc58e1...af3c9b3) ### Added - `&AttributeSetRef` and `&mut AttributeSetRef` now implement `Default`. - `&AttributeSetRef` now implements `IntoIterator`. - `AttributeSet` now implements `FromIterator<&T>`. ### Changed ### Fixed - `enumerate_dev_nodes[_blocking]` now always returns a path to a file in `/dev/input` ## evdev 0.12.1 (2022-12-09) [86dfe33...HEAD](https://github.com/emberian/evdev/compare/86dfe33...HEAD) ### Added - 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) to `VirtualDeviceBuilder`. - Add support for device properties to `VirtualDeviceBuilder`. ### Changed - Examples now show the device path of the virtual device. ### Fixed - 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). ## evdev 0.12.0 (2022-08-17) [c0bd8dd...86dfe33](https://github.com/emberian/evdev/compare/c0bd8dd...86dfe33) ### Added - Document `FFEffect`. - Publicly export `FFEffect` from root. - Add `FFEffect::id()` as an accessor for the effect ID. - Add missing `EventStream::device_mut()` in `sync_stream.rs`. ### Changed ### Fixed - Make sure that the `DevNodesBlocking` iterator is not blocking indefinitely when all entries in the directory have been exhausted. - Fix incorrect cast in `eviocrmff` to support 32-bit platforms [#82](https://github.com/emberian/evdev/pull/82). - FreeBSD support [#88](https://github.com/emberian/evdev/pull/88). ## evdev 0.11.6 (2022-08-03) [372d000...c0bd8dd](https://github.com/emberian/evdev/compare/372d000...c0bd8dd) ### Added - Add a `CHANGELOG.md` with a changelog for each new release. - Force feedback support [#74](https://github.com/emberian/evdev/pull/74). - Implement serde support for `evdev_enum!` types and `InputEventKind` [#76](https://github.com/emberian/evdev/pull/76). - Implement `VirtualDevice::get_sys_path()` as well as an iterator over the device node paths for virtual devices [#72](https://github.com/emberian/evdev/pull/72). - Implement an `Error` type [#75](https://github.com/emberian/evdev/pull/75). - Add `EventStream::device_mut()` to get a mutable reference to `RawDevice` [#73](https://github.com/emberian/evdev/pull/73). - Add support for absolute axes for virtual devices [#71](https://github.com/emberian/evdev/pull/71). ### Changed ### Fixed - Documentation and code tidying [#67](https://github.com/emberian/evdev/pull/67). ## evdev 0.11.5 (2022-03-05) [099b6e9...372d000](https://github.com/emberian/evdev/compare/099b6e9...372d000) ### Added - Introduce `RawDevice::sys_path` and `Device::sys_path` [#62](https://github.com/emberian/evdev/pull/62). - Implement `FromIterator` for `AttributeSet`. ### Changed ### Fixed ## evdev 0.11.4 (2022-01-12) [1d020f1...099b6e9](https://github.com/emberian/evdev/compare/1d020f1...099b6e9) ### Added ### Changed - Update bitvec to 1.0. ### Fixed ## evdev 0.11.3 (2021-12-07) [898bb5c...1d020f1](https://github.com/emberian/evdev/compare/898bb5c...1d020f1) ### Added - Introduce `RawDevice::send_event` and `Device::send_event` to toggle LEDs, play sounds and play force feedback effects [#60](https://github.com/emberian/evdev/pull/60). ### Changed ### Fixed - Fix a bug in `compensate_events` where it returned the same event when invoking `next()` multiple times [#61](https://github.com/emberian/evdev/pull/61). ## evdev 0.11.2 (2021-12-03) [763ef01...898bb5c](https://github.com/emberian/evdev/compare/763ef01...898bb5c) ### Added ### Changed - Update bitvec to 1.0.0-rc1. ### Fixed ## evdev 0.11.1 (2021-10-08) [1898f49...763ef01](https://github.com/emberian/evdev/compare/1898f49...763ef01) ### Added - Implement `Device::grab` and `Device::ungrab` - Implement `VirtualDeviceBuilder::with_switches`. - Support autorepeats and getting keymap entries. ### Changed - Update nix to 0.23. ### Fixed ## evdev 0.11.0 (2021-04-01) [79b6c2b...1898f49](https://github.com/emberian/evdev/compare/79b6c2b...1898f49)