-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
72 lines (47 loc) · 1.9 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Motivation
----------
The Logitech K400 keyboard under Linux presents as a single
device that combines both its trackpad and keyboard events.
This can be a problem when using "kmonad" keyboard manager,
as it will completely filter all trackpad events, rendering
that part of the device inoperative.
This small program, attaches to the Logitech device, and
creates two new devices "Split Keyboard", and "Split Mouse"
that receive the respective events from the Logitech device.
Kmonad can then be configured to use the "Split Keyboard"
device, leaving the "Split Mouse" device available for
normal trackpad usage.
Disclaimer
----------
This program was hacked together without a deep understanding
of the underlying technology. It is surely deficient in multiple
ways. Patches welcome.
Likely, the actual proper fix is for the original Logitech
device to not combine these events in the first place.
Compiling
---------
You'll need libevdev development files, and pkgconf to
find them. So, for example on Fedora:
$ dnf install libevdev-devel pkgconf evtest
$ make
Install
-------
In order to make the created devices more redily available
to use in the kmonad configuration, set up udev to create
symbolic links with fixed names:
$ sudo cp 83-splitdev.rules /etc/udev/rules.d/
$ sudo udevadm control --reload
Manually run splitdev to test things out:
$ ./splitdev
You should be able to see two new device symlinks created:
$ ls -l /dev/input/by-id/Split*
Your kmonad configuration file will be able to use the
split keyboard device, as its input:
input (device-file "/dev/input/by-id/Split_Keyboard")
After manually testing splitdev and your updated kmonad
configuration, update your window manager to automatically
run "splitdev" and "kmonad", whenver you log in.
Debugging
---------
Make use of "evtest" and "udevadm monitor" utilities to
watch for creation of devices when you run "splitdev".