Tela sensível ao toque para ncurses, além do mouse?

0

As ncurses têm algum suporte para computadores com tela sensível ao toque? Uma tela sensível ao toque acionará os mesmos eventos em ncurses que um mouse faz? Por exemplo, tocar em uma tela sensível ao toque produz um evento de "clique do mouse" em ncurses?

Eu sei que ncurses suporta entrada de mouse, então na medida em que uma tela sensível ao toque pode agir como um mouse, ela pode interagir com ncurses, eu espero. Então, um toque é como um clique do mouse, um arrasto é o mesmo em ambos.

Mas não há roda de rolagem com a tela sensível ao toque e não há um clique direito. Além disso, a tela sensível ao toque tem potencialmente gestos que o mouse não faz.

    
por Tyler Durden 30.08.2018 / 10:53

1 resposta

0

O capítulo do mouse do ncurses que programa o HOWTO pode ser uma leitura útil.

O primeiro subcapítulo introduz todas as máscaras de evento do mouse: há o relatório de posição do mouse, que inclui as coordenadas x, yez para que uma delas possa ser usada para cobrir uma roda de rolagem. Há eventos para até quatro botões e cliques duplos e triplos para cada um deles. Há eventos para o uso das teclas Shift, Control e Alt como modificadores para eventos de clique. E essa é toda a informação que você pode obter através da API do mouse ncurses.

Mas esse documento tem mais de 10 anos - talvez não esteja atualizado?

Não. A pesquisa pela palavra "toque" em /usr/include/ncurses.h produz várias ocorrências, mas a referência cruzada para as man pages correspondentes indica que todas elas referem-se a tomar decisões se o conteúdo na tela requer atualização ou não. Nada específico para touchscreen está disponível.

Até mesmo a última versão 6.1 não oferece mais suporte avançado à tela sensível ao toque.

Se você não encontrar o que procura depois de verificar as fontes que mencionei acima, você pode determinar de forma conclusiva que o que você está procurando não existe.

Esta é apenas a minha opinião, mas parece-me que o multitouch e os gestos normalmente exigem alguns recursos gráficos que permitiriam o zoom e a rotação de alguns elementos na tela com bastante liberdade, apenas para tornar aparente que os gestos são fazendo algo . Uma exibição baseada em caracteres pode ser inadequada para essa interface, então provavelmente é por isso que ninguém se esforçou para adicionar suporte específico a touchscreen ainda.

Mas parece que você pode ter algumas idéias novas sobre interfaces de usuário de toque em exibições baseadas em texto. Você poderia talvez prototipar suas idéias, tendo sua interface de aplicativo de demonstração mais diretamente com o driver touchscreen real.

Uma vez que você tenha alguma idéia sobre que tipo de tela de toque funciona com telas de texto (talvez recrutar alguns estudantes universitários para fazer um projeto de pesquisa de usabilidade básica para você?), a próxima pergunta será: que tipo de abstração de eventos touchscreen seria mais útil para implementá-los?

Pode acontecer de não haver valor agregado na transmissão dos eventos touchscreen através do próprio ncurses: em vez disso, você pode achar apropriado criar uma biblioteca separada de elemento de interface do usuário que se conecta a ncurses para exibição e ao driver da tela sensível ao toque para entrada. Quem disse que você deve usar apenas uma API de programação por vez?

    
por 30.08.2018 / 12:43