GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Disabilita/modifica il clic centrale per incollare in X11/xorg?

Questa domanda ha già risposte qui :Come posso disattivare la funzionalità "incolla con il pulsante centrale del mouse" in tutti i programmi?

(8 risposte)
Chiuso 2 anni fa.

Sto usando Slackware 13.1 (kernel 2.6) con FVWM come desktop manager.

Ho riscontrato spesso problemi durante la codifica in cui il mio mouse ipersensibile registra un clic del pulsante centrale (rotellina del mouse) durante lo scorrimento con la rotellina del mouse.

C'è un modo per modificare il collegamento in modo che il clic centrale non si incolli più utilizzando gli appunti integrati con X11/Xorg/Xfree86? Preferirei se fosse rimappato a qualcosa come +MiddleClick o qualcosa di simile.

Ho già cercato nei forum e ho trovato alcuni suggerimenti utilizzando XMODMAP, ma finora nessuno ha funzionato.

Grazie a tutti in anticipo per il vostro tempo e assistenza.

Risposta accettata:

Puoi modificare l'opzione ButtonMapping in X config:http://www.linuxquestions.org/questions/linux-newbie-8/disable-xorgs-highlight-to-copy-middle-click-to-paste-clipboard-647810/

Opzione “ButtonMapping” “1 1 3 4 5”

Aggiornamento:nel thread:https://askubuntu.com/questions/4507/how-do-i-disable-middle-mouse-button-click-paste

la patch a gtk è collegata, che disabiliterà il pulsante centrale come incolla:http://subversion.assembla.com/svn/slipstream/patches/gtk_disable_middle_mouse_button_paste.patch

C'è una panoramica dell'azione del pulsante centrale in diverse librerie/applicazioni grafiche:http://os.livejournal.com/811721.html – quindi posso presumere che l'azione middleButton come XA_PRIMARY Paste non sia codificata in Xorg/Xserver stesso (dopo aver cercato in sorgenti per ora)

Ed ecco probabilmente la gestione del pulsante centrale in QT:

qt/src/gui/text/qtextcontrol.cpp

void QTextControlPrivate::mouseReleaseEvent (...
...
} else if (button == Qt::MidButton
           && (interactionFlags & Qt::TextEditable)
           && QApplication::clipboard()->supportsSelection()) {
    setCursorPosition(pos);
    const QMimeData *md = QApplication::clipboard()->mimeData(QClipboard::Selection);
    if (md)
        q->insertFromMimeData(md);

Anche qui per lineedit:qt/src/gui/widgets/qlineedit.cpp

void QLineEdit::mouseReleaseEvent(QMouseEvent* e)
...
    } else if (!d->readOnly && e->button() == Qt::MidButton) {
        d->deselect();
        insert(QApplication::clipboard()->text(QClipboard::Selection));

e potrebbe essere qui per il livello di compatibilità qt3:qt/src/qt3support/text/q3textedit.cpp

void Q3TextEdit::contentsMouseReleaseEvent(QMouseEvent * e)
...
else if (e->button() == Qt::MidButton && !isReadOnly()) {
    // only do middle-click pasting on systems that have selections (ie. X11)
    if (QApplication::clipboard()->supportsSelection()) {

Quindi, puoi scaricare sorgenti QT e commentare questo ramo per disabilitare l'azione del pulsante centrale come incolla.

Dopo aver patchato QT e GTK, dovresti solo compilarli e installare invece gtk e QT di sistema (o posizionare in qualche directory ad esempio /usr/local/lib e mettere questa directory in /etc/ld.so.conf) prima. Quindi ogni applicazione collegata dinamicamente utilizzerà gtk/QT lib con patch e non incollerà nulla per la pressione del pulsante centrale.

Se l'applicazione è collegata in modo statico, dovresti ricompilarla con una libreria statica modificata o ricompilarla in un collegamento dinamico.

Correlati:Linux – Impostare il kernel predefinito in GRUB?

Se hai bisogno di più toolkit grafici da correggere, dì semplicemente il nome del toolkit e cercherò di trovare il punto di origine della gestione del pulsante centrale come incolla.


Linux
  1. Disabilita l'autofocus della webcam in Linux

  2. come controllare la versione di Linux X11?

  3. Come disabilitare l'autoconfigurazione su IPv6 in Linux?

  4. disabilitare il pulsante cd/dvd sul laptop Linux (ubuntu)

  5. Disabilita la scorciatoia `ctrl+shift+w` in Firefox Linux

Come disabilitare l'autenticazione della password SSH su VPS Linux

Come disabilitare la webcam integrata in Linux

Come disabilitare permanentemente lo scambio in Linux

Linux – Inoltro X11 tramite Ssh?

Come disabilitare lo scambio in Linux

Come disabilitare (davvero) NCQ in Linux