(8 Antworten)
Vor 2 Jahren geschlossen.
Ich verwende Slackware 13.1 (Kernel 2.6) mit FVWM als Desktop-Manager.
Ich hatte beim Codieren häufig Probleme, bei denen meine überempfindliche Maus beim Scrollen mit dem Mausrad einen Klick mit der mittleren Taste (Mausrad) registriert.
Gibt es eine Möglichkeit, die Verknüpfung so zu ändern, dass das Einfügen mit der mittleren Maustaste nicht mehr über die integrierte Zwischenablage mit X11/Xorg/Xfree86 erfolgt? Ich würde es vorziehen, wenn es so etwas wie +MiddleClick oder etwas Ähnliches neu zugeordnet würde.
Ich habe bereits die Foren durchsucht und einige Vorschläge mit XMODMAP gefunden, aber bisher hat keiner funktioniert.
Vielen Dank im Voraus für Ihre Zeit und Unterstützung.
Akzeptierte Antwort:
Sie können die ButtonMapping-Option in der X-Konfiguration ändern:http://www.linuxquestions.org/questions/linux-newbie-8/disable-xorgs-highlight-to-copy-middle-click-to-paste-clipboard-647810/
Option „ButtonMapping“ „1 1 3 4 5“
Update:im Thread:https://askubuntu.com/questions/4507/how-do-i-disable-middle-mouse-button-click-paste
der patch zu gtk ist verlinkt, was die mittlere taste als paste deaktiviert:http://subversion.assembla.com/svn/slipstream/patches/gtk_disable_middle_mouse_button_paste.patch
Es gibt eine Übersicht über die Aktionen der mittleren Schaltfläche in verschiedenen Grafikbibliotheken/Anwendungen:http://os.livejournal.com/811721.html – daher kann ich davon ausgehen, dass die Aktion der mittleren Schaltfläche als XA_PRIMARY Paste in Xorg/Xserver selbst nicht fest codiert ist (nach der Suche in Quellen für eine Stunde)
Und hier ist wahrscheinlich die Handhabung der mittleren Taste 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);
Auch hier für 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));
und kann hier für die qt3-kompatible Ebene sein: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()) {
Sie können also QT-Quellen herunterladen und diesen if-Zweig kommentieren, um die Midbutton-Aktion als Einfügen zu deaktivieren.
Nach dem Patchen von QT >K sollten Sie sie nur kompilieren und stattdessen das GTK und QT des Systems installieren (oder früher in ein Verzeichnis, z. B. /usr/local/lib, und dieses Verzeichnis in /etc/ld.so.conf legen). Dann verwendet jede dynamisch verknüpfte Anwendung gepatchte GTK/QT-Bibliotheken und fügt nichts für das Drücken der mittleren Taste ein.
Wenn die Anwendung statisch gelinkt ist, sollten Sie sie mit einer gepatchten statischen Bibliothek neu kompilieren oder sie in dynamisch gelinkte neu kompilieren.
Siehe auch:Linux – Standard-Kernel in GRUB festlegen?Wenn Sie mehr Grafik-Toolkits zum Patchen benötigen, sagen Sie einfach den Namen des Toolkits und ich werde versuchen, den Quellpunkt für die Handhabung der mittleren Taste als Einfügen zu finden.