Apply changes to code to support path; Add signal handling; Update README
This commit is contained in:
30
makefile
Normal file
30
makefile
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# see LICENSE file for copyright and license information.
|
||||||
|
|
||||||
|
NAME=mergeinputs
|
||||||
|
LIBS = -lpthread
|
||||||
|
SRC = ${NAME}.c
|
||||||
|
OBJ = ${SRC:.c=.o}
|
||||||
|
CFLAGS = -Os
|
||||||
|
DESTDIR = /usr/local
|
||||||
|
CC=gcc
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
@echo CC $<
|
||||||
|
@${CC} -c ${CFLAGS} ${LIBS} $<
|
||||||
|
|
||||||
|
${NAME}: ${OBJ}
|
||||||
|
@echo CC -o $@
|
||||||
|
@${CC} -o $@ ${OBJ} ${CFLAGS} ${LIBS}
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo cleaning
|
||||||
|
@rm -f ${NAME} *.o
|
||||||
|
|
||||||
|
install: ${NAME}
|
||||||
|
@echo installing executable file to ${DESTDIR}/bin
|
||||||
|
@mkdir -p ${DESTDIR}/bin
|
||||||
|
@cp -f ${NAME} ${DESTDIR}/bin/${NAME}
|
||||||
|
@chmod 755 ${DESTDIR}/bin/${NAME}
|
||||||
|
uninstall: ${NAME}
|
||||||
|
@echo removing executable file from ${DESTDIR}/bin
|
||||||
|
@rm -f ${DESTDIR}/bin/${NAME}
|
10
mergeinputs-restart.path
Normal file
10
mergeinputs-restart.path
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Path]
|
||||||
|
Unit=mergeinputs-restart.service
|
||||||
|
PathChanged=/dev/input/by-path
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
StartLimitIntervalSec=5
|
||||||
|
StartLimitBurst=20
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
12
mergeinputs-restart.service
Normal file
12
mergeinputs-restart.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=mergeinputs restarter
|
||||||
|
After=multi-user.target
|
||||||
|
StartLimitIntervalSec=5
|
||||||
|
StartLimitBurst=20
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/systemctl restart mergeinputs.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
190
mergeinputs.c
Normal file
190
mergeinputs.c
Normal file
File diff suppressed because one or more lines are too long
12
mergeinputs.service
Normal file
12
mergeinputs.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Merge multiple keyboards into one input
|
||||||
|
After=multi-user.target
|
||||||
|
ConditionPathExistsGlob=/dev/input/by-path/*-kbd
|
||||||
|
StartLimitIntervalSec=5
|
||||||
|
StartLimitBurst=20
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/bin/sh -c '/usr/local/bin/mergeinputs /dev/input/by-path/*-kbd'
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Reference in New Issue
Block a user