Skip to content

Commit 1a62078

Browse files
committed
update README
1 parent d92d5bf commit 1a62078

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ This middleware is flexible, loosely coupled and easy-to-use. After bringing it
1414
1515
### Overview
1616

17-
The `intercept`, `debouncer` and `uinput` form a whole virtual device. The data flow is in this middleware is shown as follows:
17+
The `intercept`, `debouncer-udevmon` and `uinput` form a whole virtual device. The data flow is in this middleware is shown as follows:
1818

1919
```
20-
(keyboard device) -> intercept -> debouncer -> uinput -> (next layer)
20+
(keyboard device) -> intercept -> debouncer-udevmon -> uinput -> (next layer)
2121
```
2222

2323
+ `intercept` captures your input from previous layer, and write raw input to `stdout`;
24-
+ `debouncer` get the raw input data from `stdin`, process them and write back to `stdout`;
24+
+ `debouncer-udevmon` get the raw input data from `stdin`, process them and write back to `stdout`;
2525
+ `uinput` convert the raw input from last step, and write it to this virtual device (can be found as `/dev/input/eventX`);
2626

2727
The "next layer" can be evtest, X server or Wayland compositor.
@@ -32,9 +32,9 @@ See [input.h](https://github.com/torvalds/linux/blob/master/include/uapi/linux/i
3232

3333
A key event has 3 possible values: 1 (pressed), 0 (released) or 2 (autorepeat).
3434

35-
The role of `debouncer` is that, it can delay the keyboard "release" event for some time (see #Configurations), which is similar to the ["spuious" mode of libinput](https://wayland.freedesktop.org/libinput/doc/latest/button-debouncing.html).
35+
The role of `debouncer-udevmon` is that, it can delay the keyboard "release" event for some time (see #Configurations), which is similar to the ["spuious" mode of libinput](https://wayland.freedesktop.org/libinput/doc/latest/button-debouncing.html).
3636

37-
Once `debouncer` received a "release" event, it will wait for some time. During this time, if no "press" event of the same key comes, it will write the "release" event to `stdout`; otherwise, it will neglect this event.
37+
Once `debouncer-udevmon` received a "release" event, it will wait for some time. During this time, if no "press" event of the same key comes, it will write the "release" event to `stdout`; otherwise, it will neglect this event.
3838

3939
## How to use
4040

@@ -60,7 +60,7 @@ The debug version will write more detailed info to `stderr`.
6060
Before using it, you would better create a yaml file as config. For example, here is my `udevmon.yaml`:
6161

6262
```yaml
63-
- JOB: intercept -g $DEVNODE | /usr/local/bin/debouncer | uinput -d $DEVNODE
63+
- JOB: intercept -g $DEVNODE | /usr/local/bin/debouncer-udevmon | uinput -d $DEVNODE
6464
DEVICE:
6565
LINK: "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
6666
```
@@ -89,10 +89,10 @@ $ sudo systemctl enable udevmon.service --now
8989

9090
This debouncer is easy to integrated with keyd, because they are both modularized middleware layer in libevdev.
9191

92-
Just run `debouncer` first and `keyd` then, you will get a debounced and remapped keyboard! the data flow from keyboard to applications is:
92+
Just run `debouncer-udevmon` first and `keyd` then, you will get a debounced and remapped keyboard! the data flow from keyboard to applications is:
9393

9494
```
95-
(keyboard device) -> debouncer -> keyd -> (next layer)
95+
(keyboard device) -> debouncer-udevmon -> keyd -> (next layer)
9696
```
9797

9898
You can also integrate `udevmon.service` and `keyd.service`. But notice that **the order and time of services matter**. `keyd` needs to start after `udevmon` starts, and `udevmon` needs a few microseconds to be ready. So you should [create a drop-in configuration file](https://wiki.archlinux.org/title/Systemd#Drop-in_configuration_files) that wants `udevmon` as optional dependency and sleep for some time before executing the command.

0 commit comments

Comments
 (0)