(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.