マウスリリース処理

マウスリリース処理

https://st.suckless.org/patches/clipboard/マウスホイールを選択して貼り付けますが、マウスの左ボタンを選択したときにコピーし、マウスの右ボタンをクリックしたときに貼り付ける必要があります。

展開するには、Ctrl-Vを押して貼り付けます。

私はxorg、archlinuxを使います。

この目標を達成する方法は?

ベストアンサー1

マウスリリース処理

マウスイベントを貼り付けに変換するルーチンはbrelease()次のとおりですx.c

void
brelease(XEvent *e)
{
        if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) {
                mousereport(e);
                return;
        }

        if (e->xbutton.button == Button2)
                selpaste(NULL);
        else if (e->xbutton.button == Button1)
                mousesel(e, 1);
}

中央ボタンの代わりに右ボタンを貼り付けるには、次のように変更してButton2Button3コンパイルします。

            if (e->xbutton.button == Button3)

キーボードショートカットの定義

キーボードショートカットはshortcutsの配列にありますconfig.h。クリップボードの貼り付けがCtrl- Shift- にマップされましたV

static Shortcut shortcuts[] = {
    /* mask                 keysym          function        argument */
...
    { TERMMOD,              XK_V,           clippaste,      {.i =  0} },

Ctrl-v一部のシェルとエディタではすでに特別な意味を持っているので、端末がそれを傍受したくない既存のショートカットを使用することを好むかもしれません。ただし、この新しいショートカットを使用することにした場合は、次のように行を追加/変更する必要があります。

    { ControlMask,          XK_v,           clippaste,      {.i =  0} },

現在、XK_v小文字の「v」はありませんShift

おすすめ記事