Обнаружение экрана и реверс мыши (оси x и y) kali linux

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

Итак, я запускал скрипт несколько раз, и 1/10 раз та же проблема все еще сохранялась. Есть три разных пароля, которые необходимо отправить, и какой из них «проходит», а какой «эхо» в терминале и отклоняется, кажется случайным. Я не знаю, почему это происходит, но я подозреваю, что это имеет мало общего с Expect и фактическим сценарием.

1
05.12.2016, 22:52
2 ответа

По предложению @dirkt вы можете использовать матрицу трансформации для исправления ситуации.

Для начала, чтобы увидеть текущие настройки матрицы трансформации, вы можете выполнить:

xinput
#locate the device ids that do not work correctly
xinput list-props devid |grep Matrix
#replace devid with your device number.

Если все работает нормально, матрица должна выглядеть так:
1 0 0 0 1 0 0 0 1 #case normal

Если вы когда-нибудь захотите заставить мышь/экран быть перевернутыми, то вы должны применить матрицу следующим образом:
-1 0 1 0 -1 1 0 0 1 #case inverted

Я полагаю, что поскольку ваша мышь/экран работают в перевернутом виде, их xinput list-props |grep Matrix должны выглядеть как "case inverted" вместо "case normal"

В этом случае, заставьте эти устройства использовать матрицу нормального регистра следующим образом:
xinput set-prop devicename Coordinate Transformation Matrix 1 0 0 0 1 0 0 0 0 1 #убедитесь, что используете точное имя устройства, как оно сообщается xinput

Теперь вы должны быть в порядке.

Я не знаю, по какой причине в ваших устройствах была применена неправильная матрица, но я думаю, что лучше написать в Kali о таком поведении.

Если экран инвертирован, то xrandr должно быть достаточно:
xrandr --output yourscreen --rotate normal

Если ваш экран сенсорный, то xrandr rotate недостаточно. Вам нужно применить правильную матрицу трансформации и на вашем сенсорном экране, чтобы касания воспринимались в правильном положении.

6
20.08.2021, 11:52

Вот как я решил эту проблему :Ввод xinput, в вашу консоль будет выведен список таких входов:

? Virtual core pointer                          id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? USBest Technology SiS HID Touch Controller    id=11   [slave  pointer  (2)]
?   ? ETPS/2 Elantech Touchpad                  id=14   [slave  pointer  (2)]
? Virtual core keyboard                         id=3    [master keyboard (2)]
    ? Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ? Power Button                              id=6    [slave  keyboard (3)]
    ? Asus Wireless Radio Control               id=7    [slave  keyboard (3)]
    ? Video Bus                                 id=8    [slave  keyboard (3)]
    ? Sleep Button                              id=9    [slave  keyboard (3)]
    ? USB2.0 UVC HD Webcam                      id=10   [slave  keyboard (3)]
    ? Asus WMI hotkeys                          id=12   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]

(Ваш опыт может различаться в зависимости от устройства)

Обратите внимание, что id= #— это идентификатор устройства, которое вы на самом деле ищете.

Я не был уверен в том, какое устройство работает неправильно, поэтому я просмотрел каждое из них. Оказывается, устройство 11 тупило! Чтобы просмотреть свойства, введите:

xinput list-props 11(Поскольку проблемным устройством было устройство с идентификатором = 11)

Введя это, вы увидите что-то вроде...

Device 'USBest Technology SiS HID Touch Controller':
  Device Enabled (139): 1
  Coordinate Transformation Matrix (141):   -1.000000, 0.000000, -1.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, -1.000000
  libinput Calibration Matrix (276):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
  libinput Calibration Matrix Default (277):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
  libinput Send Events Modes Available (259):   1, 0
  libinput Send Events Mode Enabled (260):  0, 0
  libinput Send Events Mode Enabled Default (261):  0, 0
  Device Node (262):    "/dev/input/event10"
  Device Product ID (263):  1111, 4238

(Я пишу это после того, как исправил проблему, так что значения -1.000000 могли быть где-то еще )Эти значения «-1.000000» являются проблемой. Чтобы установить для них правильные значения, Я набрал:

xinput set-prop 11 "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1

Затем я перезагрузился, и все было хорошо!

Я не знаю, почему это все еще проблема. Он был зарегистрирован на bugs.kali.org более одного раза, и каждый из них помечен как закрытый с разрешением «не будет исправлено».

4
20.08.2021, 11:52

Теги

Похожие вопросы