Detectando o modo tablet em um Thinkpad Yoga 11e

2

Eu tenho um Yoga 11e (o modelo do Thinkpad, não o Chromebook) executando o Ubuntu 17.04. A touchscreen funciona muito bem, o que foi minha maior preocupação ao instalar o Ubuntu pela primeira vez, mas agora me deparei com um problema: o teclado permanece ativo no modo tablet, o que significa que simplesmente segurar o dispositivo ou configurá-lo pode resultar pressionamentos de tecla não intencionais.

Eu estava esperando que eu pudesse organizar um script ao entrar / sair do modo tablet que desativaria o teclado, mas não consegui descobrir como detectar essa alteração no modo.

Encontrei algumas sugestões on-line de que outros modelos do Yoga fornecem eventos específicos de códigos de tecla quando estão no modo tablet, mas isso não parece ser o caso aqui. De fato, olhando para todos os dispositivos de entrada disponíveis, não parece haver nenhum evento associado à conversão entre o modo tablet e laptop. Eu usei o seguinte código para verificar os eventos de entrada:

#!/usr/bin/env python3

import evdev
from selectors import DefaultSelector, EVENT_READ

selector = DefaultSelector()

for dev in evdev.list_devices():
    selector.register(evdev.InputDevice(dev), EVENT_READ)

while True:
    for key, mask in selector.select():
        device = key.fileobj
        for event in device.read():
            print(key, event)

Eu também observei os eventos ACPI disponíveis via acpi_listen, mas parece que essa ferramenta em si é apenas outra visão do subsistema de entrada.

Você está ciente de alguma maneira de detectar se um Yoga 11e muda para o modo tablet?

Atualização 1

Se aventurar mais longe, depois de examinar a origem do módulo thinkpad_acpi e desmontar a tabela DSDT ACPI, parece que (a) o módulo thinkpad_acpi depende de um método ACPI denominado MHKG para determinar o estado do tablet, e (b) na tabela DSDT do Yoga 11e esse método parece não funcionar. No entanto, eu não sei nada sobre ACPI, então talvez eu não esteja lendo isso corretamente ... e mesmo que eu esteja, não sei o que fazer a seguir.

    
por larsks 26.04.2017 / 15:18

0 respostas