As opções do 50-synaptics.conf não estão funcionando

23

Como o Ubuntu cria as configurações sinápticas padrão? Eu tenho o Ubuntu Netbook 10.10 instalado em um Eeepc 900. Fora da caixa, TapButton2 foi definido como 3 e TapButton3 foi definido como 2.

Tenho várias configurações sinápticas personalizadas que quero como padrões gerais do sistema. No momento, uso um script com comandos synclient. Tenho que executar cada inicialização ou ativação. Pão Pita. Costumava ser tudo o que acontecia no xorg.conf ... que não existe mais. Estou tentando aprender a nova maneira, que é aparentemente arquivos conf /usr/share/X11/xorg.conf.d.

  1. Eu editei /usr/share/X11/xorg.conf.d/50-synaptics.confpara ficar assim:

    Seção "InputClass"
         Identificador "touchpad catchall"
         Driver "sinápticos"
         MatchIsTouchpad "em"
         MatchDevicePath "/ dev / input / event *"
         Opção "LockedDrags" "1"
         Opção "TapButton2" "2"
         Opção "TapButton3" "3"
    EndSection
  2. Tentei modificar a seção do touchpad /usr/share/X11/xorg.conf.d/10-evdev.conf, sem charuto.

  3. Tentei os mesmos arquivos 50-synaptics.conf e 10-evdev.conf em uma /etc/X11/xorg.conf.dseção.

  4. Tentei fazer um /etc/X11/xorg.confcom a seção InputClass acima. Sem charuto.

Sempre reviro a alteração antiga primeiro, faço a nova e inicio uma nova sessão X para testar ( startx -- :2). Algo que acho interessante é que, depois de qualquer mudança para o terminal virtual ( ctrl+ alt+ F1), minhas configurações sinápticas são perdidas. Significativo? Eu não sei.

Estes são os comandos synclient que eu executo:

jake @ clyde: ~ $ bin / synset.sh
#! / bin / bash
synclient TapButton2 = 2
synclient TapButton3 = 3
synclient LockedDrags = 1

Aqui está o que está em / dev / input:

jake@clyde:/dev/input$ ls
by-path/  event0  event1  event2  event3  event4  event5  event6  event7  mice  mouse0
jake@clyde:/dev/input$ ls -l by-path/
total 0
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-eeepc-event -> ../event6
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-0-event-kbd -> ../event4
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-event-mouse -> ../event7
lrwxrwxrwx 1 root root 9 2011-02-18 15:43 platform-i8042-serio-1-mouse -> ../mouse0

O log X é bastante longo, mas aqui estão alguns resultados. Se tudo isso for útil, onde é um bom local para enviá-lo?

jake@clyde:/var/log$ egrep "synaptics|touchpad" Xorg.0.log
[    16.707] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event7)
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "evdev touchpad catchall"
[    16.707] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[    16.707] (II) LoadModule: "synaptics"
[    16.707] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    16.707] (II) Module synaptics: vendor="X.Org Foundation"
[    16.708] (II) Synaptics touchpad driver version 1.2.2
[    16.708] (II) ETPS/2 Elantech Touchpad: x-axis range 8 - 1144
[    16.708] (II) ETPS/2 Elantech Touchpad: y-axis range 8 - 760
[    16.708] (II) ETPS/2 Elantech Touchpad: device does not report pressure, will use touch data.
[    16.708] (II) ETPS/2 Elantech Touchpad: finger width range 0 - 0
[    16.708] (II) ETPS/2 Elantech Touchpad: buttons: left right double triple
[    16.708] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.708] (**) ETPS/2 Elantech Touchpad: always reports core events
[    16.708] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD)
[    16.708] (**) ETPS/2 Elantech Touchpad: (accel) keeping acceleration scheme 1
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 0
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[    16.709] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[    16.709] (--) ETPS/2 Elantech Touchpad: touchpad found
[    16.710] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse0)
[ 15516.377] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44215.009] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44358.733] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44414.761] (--) ETPS/2 Elantech Touchpad: touchpad found
[ 44515.817] (--) ETPS/2 Elantech Touchpad: touchpad found

Parece que isso ainda não foi resolvido no Ubuntus atual (12.04, 12.10).

djeikyb
fonte
1
Para sua informação, antes de perguntar, vi e segui "Qual é a maneira recomendada de configurar um dispositivo touchpad Synaptics?" sem sucesso.
djeikyb
Desculpe se meu comentário não ajuda, no entanto, você pode tentar colar coisas excepcionalmente longas e mencionar os links aqui: paste.ubuntu.com
Oxwivi
1
você pode fazer upload de todo Xorg.0.log em dpaste.de Eu estou batendo o mesmo problema no maverick, não pode usar natty devido a um bug sem fio (questão separada)
Tutuca

Respostas:

22

Ok, vamos tentar mergulhar

Configuração personalizada do Xorg:

Com a descontinuação do HAL, o Xorg usa o udev para detecção de dispositivos. Portanto, qualquer regra do udev definida será levada em consideração na configuração do XServer. No entanto, não há necessidade de definir regras do udev, pois o Xorg suporta arquivos de configuração; na verdade, definir as regras do udev é desencorajado.

Os arquivos de configuração personalizados seguem esta prioridade:

  • configurações de /usr/share/X11/xorg.conf.d/
  • Regras do udev (não tenho muita certeza sobre a prioridade do udev, talvez menos)
  • configurações de /etc/X11/xorg.conf.d/
  • configurações em /etc/X11/xorg.conf

onde o bom e velho, ainda apoiado, xorg.conftem a maior prioridade. Portanto, todas as regras que você coloca em /usr/share/X11/xorg.conf.d/validade solta quando outras regras com maior prioridade são encontradas.

Para definir uma configuração personalizada sem o arquivo xorg.conf, é necessário criar uma pasta na /etc/X11/xorg.conf.d/qual você coloca os arquivos de configuração do dispositivo personalizado (aqui, seu 50-synaptics.conf). No entanto, quaisquer outras definições em um arquivo xorg.conf existente as substituirão, portanto, você precisa remover o arquivo xorg.conf.

Infelizmente, não tenho acesso ao Touchpad Synaptics e não posso testar se ele realmente funciona. Um tutorial muito bom sobre como configurar o X pode ser encontrado (embora estranho) no Wiki do Projeto Fedora .

Boa sorte.

Takkat
fonte
Eheh ... Minha pergunta é por que adicionar minhas opções nesses locais não está afetando.
djeikyb
@djeikyb: você também pode verificar (no Xorg.0.log) se pode haver mais de uma instância do módulo synaptics carregada (que faz com que todas as suas configurações personalizadas sejam anuladas se a outra estiver atual)
Takkat
Você está certo. Comece do básico, trabalhe. De qualquer forma, você pode ver parte do meu log do Xorg agora. Parece que o módulo sináptico é carregado apenas uma vez. Não sei como interpretar / dev / input, mas está em questão agora.
21411
Não. Tentei em 10-edev.conf e 50-synaptics.conf. Curiosamente, o log do xorg mostra minhas opções lidas no arquivo.
21811 djeikyb
1
@djeikyp: xinput --list --longexibir dispositivos e configurações atuais pode (ou não) fornecer dicas adicionais.
Takkat 19/02/11
8

Estou usando o Ubuntu 11.04 e, aparentemente, o daemon de configurações do gnome substitui as opções synaptics onde quer que você as coloque. De fato, para a opção "TapButton", os valores que o djkeikyb está tentando usar são o padrão e o daemon os inverte.

A execução de um script com os comandos synclient na inicialização não era uma opção, devido ao terminal virtual descrito por djkeikyb e também porque sempre que eu conectei / desconectei meu mouse USB, os valores também foram redefinidos.

Decidi desativar o daemon de configurações para as propriedades do mouse / touchpad. Em um tipo de terminal:

gconf-editor

Em seguida, acesse apps> gnome_settings_daemon> plugins> mouse e descarte a opção ativa. Obviamente, o efeito colateral é não poder editar as propriedades do mouse em Sistema> Preferências> Mouse

anthomas8
fonte
2
Interessante. Infelizmente, acredito que este seja um bug inicial (embora eu tenha sido muito preguiçoso e ocupado para escrever um relatório adequado). Eu experimentei esse problema usando o Arch Linux com nenhum traço de gnome. No entanto , com esse método, você consegue respeitar suas configurações do Xorg?
djeikyb
1
Sim. Coloquei uma "Opção" no arquivo /usr/share/X11/xorg.conf.d/50-synaptics.conf (prioridade mais baixa de acordo com Takkat, certo?) E está funcionando corretamente.
anthomas8
9
Inspirado por esta resposta, encontrei uma solução semelhante. Execute dconf-editor( apt-get installse necessário), vá para org.gnome.settings-daemon.plugins.mouse, desmarque active. Confirmo que esta solução permitiu que minhas /etc/X11/xorg.conf.d/50-synaptics.confconfigurações fossem respeitadas no Ubuntu 12.04 beta. @djeikyb, marque esta resposta como aceita, porque é a única que realmente resolve o problema do assunto.
Nikita Volkov
1
@mojojojo Vou instalar o ubuntu mais recente e testar quando tiver um minuto livre. Parece promissor.
djeikyb
3
Funciona para mim no Debian 8 Jessie
aaaaaa
2

Neste ponto, parece um bug. Vou seguir em frente perguntando pelas listas de discussão sinápticas e do xorg e preenchendo um relatório de erro. Esta é a minha resposta insatisfatória: /

Embora ainda não tenha tido a oportunidade de testar minhas opções no Ubuntu 11.04, o synaptics e o xorg também não funcionam conforme o esperado em uma instalação atualizada (quinta-feira, 2 de junho às 03:09:43 PDT 2011) Portanto, parece ser um bug inicial, não especificamente o Ubuntu.

djeikyb
fonte
Bug ainda está presente em 13.04
tutuca
1

Usando o 11.04 atualizado em série a partir do 9.04, se isso interessar. O udev não funcionou, usando/etc/udev/rules.d/99-touchpad-borders.rules

ACTION!="add|change", GOTO="xorg_synaptics_end"
KERNEL!="event*", GOTO="xorg_synaptics_end"

ENV{ID_INPUT_TOUCHPAD}!="1", GOTO="xorg_synaptics_end"

# synclient for settings

ENV{x11_options.RightEdge}="5200"
ENV{x11_options.LeftEdge}="1744"
ENV{x11_options.TopEdge}="2000"
ENV{x11_options.BottomEdge}="4256"

LABEL="xorg_synaptics_end"

O synclient não mostrou alterações nas configurações após a reinicialização. O xorg.conf.d funcionou, com/usr/share/X11/xorg.conf.d/55-touchpad-border.conf

Section "InputClass"
        Identifier "touchpad border config"
        MatchIsTouchpad "on"
        Driver "synaptics"
        Option "RightEdge" "5200"
        Option "LeftEdge" "1744"
        Option "TopEdge" "2000"
        Option "BottomEdge""4256"
EndSection

reiniciar o X teve as alterações exibidas com o synclient.

gpointing-device-settings também foi mencionado em algum lugar como uma solução.

Misaki
fonte
O que realmente funcionou para você? Você pode esclarecer? Parece que você está dizendo que a edição de arquivos xorg.conf.d resolveu seu problema, mas definitivamente não foi o que aconteceu com o Ubuntu 10.10.
djeikyb
0

Não tenho certeza se isso ajuda, mas se você salvá-lo como xorg.conf, ele deve funcionar

robin0800
fonte
5
O xorg.conf está obsoleto. Se possível, eu gostaria de fazer isso da maneira certa. Além disso, acabei de colocar essa seção em um /etc/X11/xorg.confcharuto vazio e sem charuto.
2141111
0

faz

Option "SHMConfig" "on"

ainda se aplica? Pelo menos ainda o tenho no meu antigo arquivo de configuração. Não poderia machucar colocar aquele, poderia?

Marto
fonte
Eu uso o synclient sem essa opção. Se eu entendo: se for necessário, ele deve estar ativado para qualquer configuração sináptica. Portanto, a opção não é útil. Corrigir? Aliás, isso não tem efeito na minha instalação atual do Arch que tem o mesmo problema. Espero que eu possa obter Ubuntu dual-booting sobre este netbook para que eu possa manter adequadamente a questão aqui no askubuntu :)
djeikyb
aparentemente, o shmconfig passa pelo HAL, que não é mais usado. ou algo assim ..
marto 19/06/11
Isso faz sentido. O atual esquema de detecção de hardware atual é uma mistura de udev e dbus. Não consigo deixar de pensar que esse é um problema do udev em sua essência, especialmente porque minhas configurações de sincronização são redefinidas em eventos ACPI como o hibernate.
21411 Dreikyb