GNU/Linux >> Znalost Linux >  >> Linux

Linux – Zakázat/upravit střední-click-to-paste v X11/xorg?

Tato otázka zde již obsahuje odpovědi :Jak mohu vypnout funkci „vložení prostředního tlačítka myši“ ve všech programech?

(8 odpovědí)
Uzavřeno před 2 lety.

Používám Slackware 13.1 (kernel 2.6) s FVWM jako správcem plochy.

Často jsem měl problémy při kódování, kdy moje příliš citlivá myš zaregistrovala kliknutí středního tlačítka (kolečka myši) při rolování kolečkem myši.

Existuje nějaký způsob, jak upravit zástupce tak, aby se prostřední kliknutí již nevkládalo pomocí vestavěné schránky s X11/Xorg/Xfree86? Byl bych raději, kdyby to bylo přemapováno na něco jako +MiddleClick nebo něco podobného.

Prohledal jsem již fóra a našel jsem nějaké návrhy pomocí XMODMAP, ale žádný zatím nefungoval.

Předem vám všem děkuji za váš čas a pomoc.

Přijatá odpověď:

ButtonMapping Option můžete upravit v konfiguraci X:http://www.linuxquestions.org/questions/linux-newbie-8/disable-xorgs-highlight-to-copy-middle-click-to-paste-clipboard-647810/

Možnost „ButtonMapping“ „1 1 3 4 5“

Aktualizace:ve vláknu:https://askubuntu.com/questions/4507/how-do-i-disable-middle-mouse-button-click-paste

patch je propojen s gtk, což deaktivuje prostřední tlačítko jako vkládání:http://subversion.assembla.com/svn/slipstream/patches/gtk_disable_middle_mouse_button_paste.patch

Přehled akcí středního tlačítka v různých grafických knihovnách/aplikacích je:http://os.livejournal.com/811721.html – mohu tedy předpokládat, že akce středního tlačítka jako XA_PRIMARY Paste není napevno zakódována v samotném Xorg/Xserveru (po vyhledání ve zdrojích za hodinu)

A zde je pravděpodobně manipulace se středním tlačítkem v 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);

Zde také pro úpravu řádku: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));

a může být zde pro qt3 compat vrstvu: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()) {

Můžete si tedy stáhnout zdroje QT a okomentovat to, pokud větvete, abyste deaktivovali akci středního tlačítka jako vložení.

Po záplatě QT >K byste je měli pouze zkompilovat a nainstalovat místo nich systémové gtk a QT (nebo umístit do nějakého adresáře, např. /usr/local/lib a tento adresář vložit do /etc/ld.so.conf) dříve. Pak bude každá dynamicky propojená aplikace používat opravenou knihovnu gtk/QT lib a při stisknutí prostředního tlačítka nebude nic vkládat.

Pokud se aplikace propojila staticky, měli byste ji překompilovat s opravenou statickou knihovnou nebo ji překompilovat na dynamicky propojenou.

Související:Linux – Nastavit výchozí jádro v GRUB?

Pokud potřebujete opravit více grafických sad nástrojů, řekněte název sady nástrojů a já se pokusím najít zdrojový bod zpracování prostředního tlačítka jako vložit.


Linux
  1. 4 způsoby, jak zakázat účet root v Linuxu

  2. Jak zakázat letní čas (DST) a upravit časové pásmo v systému Linux

  3. jak zkontrolovat verzi linux X11?

  1. Jak zakázat automatickou konfiguraci na IPv6 v Linuxu?

  2. Zakažte ve Firefoxu Linux zkratku `ctrl+shift+w`

  3. Jak (skutečně) zakázat NCQ v Linuxu

  1. Jak zakázat příkazy vypnutí a restartu v Linuxu

  2. Xorg, X11, Wayland? Vysvětlení zobrazovacích serverů a protokolů pro Linux

  3. Jak změnit, odebrat nebo zakázat uživatelské heslo v systému Linux