Припустимо, що ваш GUI заснований на X (як майже всі графічні інтерфейси UNIX), використовуйте xinput
.
Спочатку перерахуйте свої пристрої:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Windows mouse id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Windows keyboard id=7 [slave keyboard (3)]
Перерахуйте деталі для своєї миші (id = 6 у нашому прикладі):
$ xinput --list-props 6
Device 'Windows mouse':
Device Enabled (112): 1
Coordinate Transformation Matrix (114): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (222): 0
Device Accel Constant Deceleration (223): 1.000000
Device Accel Adaptive Deceleration (224): 1.000000
Device Accel Velocity Scaling (225): 10.000000
Тепер відключіть його:
$ export DISPLAY=:0
$ xinput set-int-prop 6 "Device Enabled" 8 0
Щоб увімкнути це, виконайте:
$ xinput set-int-prop 6 "Device Enabled" 8 1
Те саме стосується і клавіатури, просто замініть номер int-prop на відповідний ідентифікатор.
Тестував і працював на cygwin.
Звичайно, ви повинні заздалегідь спланувати, як ви знову ввімкнете свої пристрої. наприклад, запланувати його на cron, повторно включити його або відключити спочатку лише один із них.