LINUX.ORG.RU

Блокировать мышь и клавиатуру

 , , ,


0

2

У меня 14 кошек. Кошки любят прийти и усесться на клавиатуру, потоптаться по ней, иногда - улечься на мышь, особенно - когда я отхожу от компа. Есть ли какой-нибудь простой способ блокировать/разблокировать клавиатуру и мышь, не слипая систему, когда я отхожу от компа? Может комбинацией клавиш? Может скрипт для этого можно какой написать? Помогите, плиз.

Кошки хотят тебе помочь кодить, а ты им не даёшь.

rupert ★★★★★ ()
Ответ на: комментарий от Radjah

Мне нужно, чтобы на мониторах оставалось всё, как в рабочем режиме, только мышь и клавиатура переставали отвечать на рандомные нажатия.

NightmareZombie ()
Ответ на: комментарий от NightmareZombie

Мне нужно, чтобы на мониторах оставалось всё, как в рабочем режиме, только мышь и клавиатура переставали отвечать на рандомные нажатия.

Напиши прозрачный screen-saver.

rezedent12 ☆☆☆ ()

а мне нужно такое же, но чтобы динамики вопили по-кошачьи и кошка сваливала с клавиатуры.

darkenshvein ★★★★★ ()
Ответ на: комментарий от NightmareZombie

Есть усб хаб с кнопочкой отключения, не вариант? Все блокировщики заточены, чтобы скрыть происходящее на экране. Тебе надо чтобы плейер, например, продолжал работать?

ilovewindows ★★★★★ ()

Без проворные купи и выключай их

spichka ★★★ ()

14 кошек

Жесть, я с одной справиться не могу, покормить, напоить, обнять-погладить, какашки выкинуть, сцулики убрать, наполнитель с пола подмести. И это только ежедневные хлопоты, не считая покупки кормов, посещения ветеринаров и тому подобное.

surefire ★★★ ()
Ответ на: комментарий от surefire

У нас ещё крысы, шиншиллы, морские свинки и кролики. Примерно от 30 тыс рублей выходит на прокорм каждый месяц.

NightmareZombie ()

дык просто сессию заблочь, pause break по дефолту в xfce

Может скрипт для этого можно какой написать?

как-то мелочно после комплекса физических программ

Мне нужно, чтобы на мониторах оставалось всё, как в рабочем режиме, только мышь и клавиатура переставали отвечать на рандомные нажатия.

заюзай копеечный usb kvm. отошел - переключил клаву и мышь на «пустой» пк.

https://ru.aliexpress.com/item/Portable-USB-2-0-KVM-2-Port-Selector-VGA-Print...

ну или сам сделай

vvviperrr ★★★★★ ()
Последнее исправление: vvviperrr (всего исправлений: 3)
Ответ на: комментарий от Ygor

Блин, ну тогда всё с экранов пропадает, остаётся только фон и «введите пароль». Мне же нужно, чтобы на экранах всё продолжало жить своей жизнью. Ну сколько раз повторять?

NightmareZombie ()
Ответ на: комментарий от NightmareZombie

Мне же нужно, чтобы на экранах всё продолжало жить своей жизнью. Ну сколько раз повторять?

Простого решения я думаю нет. За исключением может быть выдёргивать и мышь и клаву из USB. Но KVM тебе тут посоветовали я смотрю.

Ygor ★★★★★ ()
Ответ на: комментарий от NightmareZombie

Если получаешь удовольствие от извращений, то можешь создать пустую виртуалку в virtualbox и тыкать туда мышей, виртуалка захватит мышь и клаву, обратно комбинацией типа ctrl+win.

ilovewindows ★★★★★ ()

А живёшь ты в квартире, в многоэтажном доме?

Harald ★★★★★ ()

Я думаю можно попробовать сделать через

xinput disable <device>
xinput enable <device>

По disable проблем никаких. Нужно придумать, как делать enable. Например привязать к кнопке питания или завести что-то типа usb флешки, вставили сработал скрипт enable, достали сработал скрипт disable.

surefire ★★★ ()

А можно и кошек выдрессировать

tiinn ★★★★★ ()
Ответ на: комментарий от ilovewindows

Вот еще способ,

Вариант с Xephyr-ом хорош тем, что не теряется контроль над клавой. Можно повесить события на нажатие клавиш: громкие звуки или наоборот какие-нибудь кошачьи игры, а выход сделать по паролю.

Проблема, неудачный вход в режим захвата клавиатуры, только в ручном режиме и кнопки рядом (ctrl+shift), причем перехватывает он это сочетание на низком уровне (с помощью xmodmap-а отключить не получилось). Обход требует дополнительный привелегий (включение пользователя в группу input).

arson ★★★★★ ()

Я-то думал у меня проблема с 5 котами, а тут у кого-то 14. :-) Как решаешь проблемы с постоянной шерстью везде и всегда, в том числе в вентиляции компа? :-))

mahalaka ★★ ()
Ответ на: комментарий от Ygor

xtrlock просто блокирует ввод, на экране всё бегает. То есть даже не блокирует, а ждёт разблокировки паролем юзера.

mahalaka ★★ ()
Ответ на: комментарий от mahalaka

О, точно xtrlock, вспоминал вспоминал как эта штука называется, так не вспомнил.

ilovewindows ★★★★★ ()

Лучше блокировать котов. Они вообще располагают опциональной устойчивостью к блокировке. Последний кот с одной подачи понял что не надо ставить лапу на клаву — мог топтаться по столу, но клаву переступал. Другие могут понять не с первого раза, но поймут неизбежно.

Csandriel_forever ()

Но если у тебя на котов рука не подымается (ты нуждаешься в ПАТЧЕ), то есть решение, нагуглил (evdev отвечает за события ввода-вывода, по нему и надо было гуглить)

$ xinput --list
"Virtual core pointer"  id=0    [XPointer]
"Virtual core keyboard" id=1    [XKeyboard]
"Keyboard2"     id=2    [XExtensionKeyboard]
"Mouse2"        id=3    [XExtensionKeyboard]

Так ты получаешь список оборудования. теперь оперируем отдельными позициями

$ xinput --list-props 3
Device 'Mouse2':
        Device Enabled (119):   1
        Evdev Reopen Attempts (254):    10
        Evdev Axis Inversion (257):     0, 0
        Evdev Axis Calibration (258):   <no items>
        Evdev Axes Swap (259):  0
        Evdev Middle Button Emulation (260):    2
        Evdev Middle Button Timeout (261):      50
        Evdev Wheel Emulation (262):    0
        Evdev Wheel Emulation Axes (263):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (264):    10
        Evdev Wheel Emulation Timeout (265):    200
        Evdev Wheel Emulation Button (266):     4
        Evdev Drag Lock Buttons (267):  0

$ export DISPLAY=:0
$ xinput set-int-prop 3 "Device Enabled" 8 0

Enable the mouse again:

$ xinput set-int-prop 3 "Device Enabled" 8 1

Disable the keyboard:

$ xinput set-int-prop 2 "Device Enabled" 8 0

Enable the keyboard again:

$ xinput set-int-prop 2 "Device Enabled" 8 1

Оставлю тебе работу написать скрипт. Который, разумеется, нужно кастать из tty. Вне иксов. Потому что блокировка будет выставляться на иксы, но не на консоль, на сколько я понимаю. Есть команда перехода в терминал

chvt N
Где 'N' — номер консоли.

Это то что ты просил — способ блокировать клаву и мышь. Но есть решение проще, в стиле slackware («keep it simple, stupid»): Просто переходишь в tty когда от компа отходишь, и пусть коты топчутся как хотят, хоть под рутом.

Csandriel_forever ()

Плюсую вариант приучать котов к порядку. У друга для кота есть несколько запретных зон, куда он никогда не лезет - это кухонный и рабочие столы. Первое по соображениям гигиены и чтобы не тырил еду, а второе чтобы ничего не сломал и не нажал каких-нибудь кнопок. Да и ноутбуку/компьютеру не полезна кошачья шерсть.

KivApple ★★★★★ ()

У меня 14 кошек.

ЛПП на 146%.

Deleted ()
Ответ на: комментарий от surefire

Соломон говорил

любящий сына не жалеет ему розг

А уж котов тем более надо уметь воспитывать, где надо и приложиться — в ваших обоюдных интересах. Чем меньше он тебя напрягает тем ему же лучше. Кот обязан знать где дверь на улицу и уметь проситься. Хотя конечно когда в подъезде это сложнее. Но это трагедия пленников каменных муравейников.

Csandriel_forever ()

Alt-Ctrl-F12 (НЕ НАЖИМАЙ, ПОКА НЕ ПРОЧТЁШЬ), обратно - Alt-Ctrl-F7, скорее всего. Или какая-нибудь из других F'ов.

Что делает - переключает на несуществующую tty.

nebularia ★★ ()
Ответ на: комментарий от Csandriel_forever

Мне нужно, чтобы на мониторах оставалось всё, как в рабочем режиме, только мышь и клавиатура переставали отвечать на рандомные нажатия.

нагуглил
Который, разумеется, нужно кастать из tty.
Просто переходишь в tty когда от компа отходишь,

Лучше бы ты подумал прежде чем гуглить.

Оставлю тебе работу написать скрипт.

Этот что ли export DISPLAY=:0 ; xinput --list --id-only | xargs -n 1 xinput --disable?
Нет никакого смысла блокировать клавиатуру/мышь в X-ах из консоли, т.к. они и так «отключены» от иксов.

arson ★★★★★ ()
Последнее исправление: arson (всего исправлений: 1)
Ответ на: комментарий от arson

export DISPLAY=:0 ; xinput --list --id-only | xargs -n 1 xinput --disable

Ну красава, ну что сказать.

Нет никакого смысла блокировать клавиатуру/мышь в X-ах из консоли, т.к. они и так «отключены» от иксов.

Есть. Просто потому что иначе из иксов не разблокируешь. Другое дело что нет смысла блокировать иксы если выскочил в tty. Но это дошло как раз когда печатал строки «перейти в tty». Подумал что на этом можно было бы и остановиться, но жаль было уже стирать пасту ^_^

Csandriel_forever ()
Ответ на: комментарий от Csandriel_forever

Есть. Просто потому что иначе из иксов не разблокируешь.

Ты не написал самого главного, как ты собрался разблокировать клаву/мышь из X-ов.

arson ★★★★★ ()

у меня в дебиановых кедах локскрин включается по ctrl+alt+l

Deleted ()
Ответ на: комментарий от Csandriel_forever

Мне нужно, чтобы на мониторах оставалось всё, как в рабочем режиме, только мышь и клавиатура переставали отвечать на рандомные нажатия.

Ты трезвый? Я этого не собирался делать.

Тогда зачем ты все это написал?!

arson ★★★★★ ()
Ответ на: комментарий от Csandriel_forever

Проспись и перечитывай

Читаю

Есть. Просто потому что иначе из иксов не разблокируешь.

Повторяю ворос. Как ты собрался разблокировать из иксов?
Проспись и подумай, прежде чем отвечать.

arson ★★★★★ ()
Ответ на: комментарий от arson

Заметь, ни у кого кроме тебя вопросов по написаному не возникло. Я все вот думаю почему ты не осилил. Ты похоже не можешь забыть эту ваву? Это она тебе мешает понять о чем итт речь?

Csandriel_forever ()
Ответ на: комментарий от Csandriel_forever

Плюсую tty, я ещё yes запускаю, когда клаву протираю, а то вдруг чего деструктивного совершенно случайно наберу.

anonymous ()
Ответ на: комментарий от anonymous

Тоже вариант, только надо антидребезг еще добавить, чтобы ерзаньем случайно не залочить.

Radjah ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.