LINUX.ORG.RU

Определение трансформации ThinkPad

 ,


0

2

Под виндой Thinkpad X230T реагировал на тот факт, что его крышку повернули таким образом, что он стал планшетом. Каким образом можно детектить это событие под Linux и выполнять какую-нибудь команду?

★★★★★

Ты не жалеешь, что взял не X230, а конверт? Как там с пятнами на дисплее, видно их? Не раздражают?

Если есть время и желание, расскажи.

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

А какие пятна должны быть на дисплее? Следы от отпечатков пальцев? На матовом покрытии они не особо видны, а изредка появляются те, что видно, но их можно стереть, проведя пальцем и они станут не видны.

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

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

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

Так, отлично, большое спасибо. Теперь оно поворачивает экран автоматически при переключении в режим планшета и обратно. Автозапуск kvkbd я отключил, потому что оно убивает его при повороте экрана в обычный режим кнопкой (а кто сказал, что я при этом вернулся из планшетного режима???). Гораздо удобнее скрывать/показывать экранную клавиатуру тапая по значку в трее.

Но меня не устраивает поведение thinkpad-rotate - он переключается между режимами «нормально» и «повёрнуто». А я бы хотел поведение как на винде - переключение между всеми вариантами ориентации по очереди.

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

Посмотрел и сделал по аналогии. При этом использую thinkpad-rotate, который уже внутри себя делает все необходимые перенастройки тачскрина, а также грепаю название выхода (LVDS1), а то мало ли что.

#!/bin/sh

rotation="$(xrandr -q --verbose | grep 'LVDS1 connected' | egrep -o  '\) (normal|left|inverted|right) \(' | egrep -o '(normal|left|inverted|right)')"

case "$rotation" in
    normal)
        thinkpad-rotate left
        ;;
    left)
        thinkpad-rotate inverted
        ;;
    inverted)
        thinkpad-rotate right
        ;;
    right)
        thinkpad-rotate normal
        ;;
esac

Эх... ещё бы эмулировать правую кнопку не тапом двумя пальцами по тачскрину, а долгим зажатием... А то выделение с текста часто слетает...

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

Эх... ещё бы эмулировать правую кнопку не тапом двумя пальцами по тачскрину, а долгим зажатием... А то выделение с текста часто слетает...

а посмотреть через xev код нажатия и переназначить нельзя чтоль?

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

???

Прикосновение к тачскрину приходит как обычный Button Press, отпускание как Button Release. В этом месте ничего переназначить не выйдет.

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

точно? Потому что у меня это разные события (может из-за того, что стилус?)

запусти от рута evtest и погляди.

ivan@punko:/dev/input$ sudo evtest 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	Lid Switch
/dev/input/event1:	Sleep Button
/dev/input/event2:	Power Button
/dev/input/event3:	AT Translated Set 2 keyboard
/dev/input/event4:	Video Bus
/dev/input/event5:	TPPS/2 IBM TrackPoint
/dev/input/event6:	HDA Intel Mic
/dev/input/event7:	HDA Intel Dock Mic
/dev/input/event8:	HDA Intel Dock Headphone
/dev/input/event9:	HDA Intel Headphone
/dev/input/event10:	UVC Camera (17ef:480c)
/dev/input/event11:	ThinkPad Extra Buttons
/dev/input/event12:	Wacom Serial Penabled 1FG Touchscreen Pen
/dev/input/event13:	Wacom Serial Penabled 1FG Touchscreen Finger
PunkoIvan ★★★★
()
Ответ на: комментарий от KivApple

https://aur.archlinux.org/packages/evrouter/
вот, попробуйте эту утилиту для переназначения событий ввода, я использовал для переназначения кнопок мыши как модификаторы клавиатуры

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

Нашёл проблему. Если acpid запускается при загрузке системы, то получаю в логах сообщение вида «thinkpad-scripts: невозможно определить сессию графического пользователя» (по-английски всё, разумеется). И пока не рестартуешь acpid, будучи залогиненным в иксы, автоповорот экрана при трансформации работать не будет.

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

Кстате, автоповорот дисплея делается элементарным скриптом, который читает значение с акселерометра, только надо нормально значения все задать, типа трешолдов.

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

А у этого ноутбука вообще есть акселерометр? А то не могу найти информацию по этому поводу. Да и наличие кнопки ручной смены ориентации намекает, что автоповорота может и не быть.

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

Не специалист по systemd, что именно туда нужно прописать? Нужно чтобы юнит запустился именно после моей авторизации.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от derlafff
$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen stylus                 id=10   [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Finger touch               id=11   [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen eraser                 id=14   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=16   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [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)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=13   [slave  keyboard (3)]

Явно что-то не то...

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

Домой приду подскажу точнее, где глянуть, но гугл по слову HDAPS.

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