題 使用鍵盤模擬鼠標單擊


我想在鍵盤上創建一個按鈕,就像鼠標點擊一樣,最好使用xmodmap。我該怎麼做?

運行Ubuntu 10.10。


11
2017-09-17 09:35


起源




答案:


以下步驟將幫助您將鍵盤鍵重新連接到鼠標按鈕。

  1. 使用標識鍵盤鍵 xev 效用。

    運行xev實用程序並按鍵盤鍵進行重新連接將輸出類似這樣的內容

    KeyPress event, serial 37, synthetic NO, window 0x3e00001,
    root 0x82, subw 0x0, time 28977858, (-419,294), root:(175,613),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

    請注意將重新分配的密鑰代碼。

  2. 運行xkbset utilty

    xkbset m

  3. 使用xmodmap實用程序重新映射。

    在下面的情況下,菜單鍵被重新映射到鼠標右鍵。

    xmodmap -e "keycode 135 = Pointer_Button3"


5
2017-10-01 22:12



看我的劇本 superuser.com/questions/313926/... 在linux上使用鼠標按鍵。 AHK的替代品? - Russo


我想你可以使用xmodmap和Pointer_Button1鍵映射來實現這一點。

在文件/usr/include/X11/keysymdef.h中查找確切的拼寫和大小寫,但應該可以將鍵盤鍵映射到鼠標按鈕(1,2,3等),甚至雙擊(看到頭文件,靠近460行左右)

keysym W = Pointer_Button1

可能工作,導致W鍵充當鼠標左鍵。我建議使用不同的密鑰,除非你不使用任何W,但任何適合你的。 (不,我不會親自嘗試,我需要我的W!)

另請查看xmodmap的手冊頁,當然還有/usr/include/X11/keysymdef.h的內容,以使拼寫正確。刪除XK_前綴以使用xmodmap的keysym名稱。

在我的Debian系統的x11-proto-core-dev軟件包中看起來像是(keysymdef.h)...您可能想在線搜索文件及其內容,懷疑您是否要安裝所有涉及的-dev文件得到一個。 GIYF。

關於另一種做法的方法讓我感到頭暈目眩,但是現在沒有任何事情發生在我身上。

哦!根據您的需要,您可以查看鍵盤鼠標仿真,將數字鍵盤轉換為全功能的雙鍵(無滾輪!)鼠標。


2
2017-09-17 11:35



有關“鍵盤鼠標仿真”的讀者信息: en.linuxreviews.org/... 打開此功能的關鍵組合一直是 默認情況下禁用 從前,現在需要 Option XkbOptions "keypad:pointerkeys"。點擊鍵不是打開它的唯一方法: xkbset m 按照這樣做 crunchbang.org/forums/viewtopic.php?id=27937 ,並可以控制令人討厭的超時,並將其從cmdline關閉。 - imz -- Ivan Zakharyaschev


內置的“鍵盤鼠標仿真”模式可以執行此操作和/但具有 預先配置的組合鍵 用於模擬各種鼠標點擊和按下(用於拖動)。

(僅供參考:打開此功能的關鍵組合一直是 從默認鍵盤映射中刪除 從前,現在需要 Option XkbOptions "keypad:pointerkeys"。)

點擊密鑰不是打開此模式的唯一方法:

xkbset m

按照這樣做 http://crunchbang.org/forums/viewtopic.php?id=27937,並可以控制令人討厭的超時,並將其從cmdline關閉。要關閉令人討厭的超時:

xkbset exp =m

所以, xkbset 真的更方便(比只有一個鍵才能打開這個模式),因為 xkbset 更好地控制首選超時等。

使用小鍵盤。一些基本組合(更多內容 http://en.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg

  • /*- 是給 選擇 左,中,右按鈕;
  • 5 用於點擊  按鈕;
  • 0 和 .用於按壓和釋放  按鈕(用於拖動等)

始終啟用“鍵盤鼠標仿真”問題的注意事項

  1. 我無法始終啟用“鍵盤鼠標仿真”。所以我依靠一個特殊的鍵(比如 keypad:pointerkeys) 去做這個。

  2. 我發現Xfce在啟動時也搞亂了這些設置,所以如果 xkbset m 在Xfce之前運行,然後該設置不活動。因此,我必須更改Xfce配置中的設置以符合我的整體願望,即: Xfce設置:輔助功能:鼠標:啟用仿真。 (我了解這種Xfce選項存在的來源是: https://bugzilla.xfce.org/show_bug.cgi?id=3860。)這似乎有所幫助。 (我也用我的觸控板禁用了 xinput float ...;這可以通過在Linux控制台之間切換來解決,但至少可以通過在Xfce設置中禁用此設備來解決此問題。)


1
2017-10-19 17:34