Jawaban:
Langkah-langkah berikut akan membantu Anda mengubah kunci keyboard menjadi tombol mouse.
Identifikasi tombol keyboard menggunakan xev
utilitas.
Menjalankan utilitas xev dan menekan tombol keyboard yang akan diputar ulang akan menampilkan sesuatu seperti ini
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
Perhatikan kode kunci yang akan disusun ulang.
Jalankan utilitas xkbset
xkbset m
Remap menggunakan utilitas xmodmap.
Dalam kasus di bawah ini, tombol menu dipetakan kembali ke tombol kanan mouse.
xmodmap -e "keycode 135 = Pointer_Button3"
Saya membayangkan Anda bisa melakukan ini menggunakan xmodmap dan keymap Pointer_Button1.
Lihat di file /usr/include/X11/keysymdef.h untuk mengetahui ejaan dan kapitalisasi yang tepat, tetapi harus dimungkinkan untuk memetakan tombol keyboard ke tombol mouse (1,2,3, dll), bahkan dengan mengklik dua kali ( lihat file header, dekat baris 460 atau lebih)
keysym W = Pointer_Button1
MUNGKIN berfungsi, menyebabkan kunci W untuk bertindak sebagai tombol kiri mouse. Saya akan merekomendasikan menggunakan kunci yang berbeda, kecuali jika Anda tidak menggunakan huruf W, tetapi apa pun yang berfungsi untuk Anda. (tidak, aku tidak akan mencobanya sendiri, aku butuh huruf W!)
Lihat juga halaman manual untuk xmodmap, dan tentu saja isi dari /usr/include/X11/keysymdef.h untuk mendapatkan ejaan yang benar. Jatuhkan awalan XK_ untuk menggunakan nama keysym untuk xmodmap.
Sepertinya itu (keysymdef.h) dalam paket x11-proto-core-dev untuk sistem Debian saya ... Anda mungkin ingin mencari file dan isinya secara online, ragu Anda ingin menginstal semua file -dev yang terkait dengan dapatkan itu saja. GIYF.
Sesuatu menggelitik di belakang kepala saya tentang cara lain untuk melakukan ini, tetapi tidak ada yang datang kepada saya sekarang.
OH! Tergantung pada kebutuhan Anda, Anda mungkin melihat Emulasi Mouse Keyboard, dengan mengubah keypad numerik menjadi mouse dua tombol berfitur lengkap (tanpa roda gulir!).
Option XkbOptions "keypad:pointerkeys"
. Menekan kunci bukan satu-satunya cara untuk mengaktifkan ini: xkbset m
apakah ini sesuai dengan crunchbang.org/forums/viewtopic.php?id=27937 , dan dapat mengontrol batas waktu yang tidak menyenangkan dan juga mematikannya dari cmdline.
Mode "Emulasi Mouse Keyboard" internal dapat melakukan ini dan / tetapi memiliki kombinasi tombol yang telah dikonfigurasi sebelumnya untuk meniru berbagai klik dan penekanan mouse (untuk menyeret).
(FYI: Kombinasi tombol untuk mengaktifkan ini telah dihapus dari keymap default sejak beberapa waktu yang lalu dan sekarang perlu Option XkbOptions "keypad:pointerkeys"
.)
Menekan tombol bukan satu-satunya cara untuk mengaktifkan mode ini:
xkbset m
melakukan ini sesuai http://crunchbang.org/forums/viewtopic.php?id=27937 , dan dapat mengontrol batas waktu yang tidak menyenangkan dan juga mematikannya dari cmdline. Untuk mematikan batas waktu buruk:
xkbset exp =m
Jadi, xkbset
ini benar-benar lebih praktis (daripada memiliki kunci hanya untuk mengaktifkan mode ini), karena xkbset
memberi lebih banyak kontrol atas batas waktu yang diinginkan dll.
Numpad digunakan. Beberapa kombinasi dasar (selengkapnya di http://en.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg :
/
, *
, -
Adalah untuk memilih kiri, tombol tengah atau kanan;5
untuk mengklik dengan tombol yang dipilih ;0
dan .
untuk menekan dan melepaskan tombol yang dipilih (untuk menyeret dll.)Saya tidak bisa mendapatkan "Emulasi Mouse Keyboard" selalu diaktifkan. Jadi saya mengandalkan kunci khusus (seperti dalam keypad:pointerkeys
) untuk melakukan ini.
Saya menemukan bahwa Xfce juga mengacaukan pengaturan ini, saat startup, jadi jika xkbset m
dijalankan sebelum Xfce, maka pengaturannya tidak aktif. Karena itu, saya harus mengubah pengaturan dalam konfigurasi Xfce agar sesuai dengan keinginan saya secara keseluruhan, yaitu: Pengaturan Xfce: Aksesibilitas: Mouse: aktifkan emulasi . (Sumber bagi saya belajar tentang keberadaan opsi Xfce tersebut adalah: https://bugzilla.xfce.org/show_bug.cgi?id=3860 .) Ini sepertinya telah membantu. (Saya juga menonaktifkan touchpad saya xinput float ...
; ini berantakan dengan beralih di antara konsol Linux, tetapi dapat dikerjakan lagi dengan menonaktifkan perangkat ini setidaknya dalam pengaturan Xfce.)
setxkbmap -option keypad:pointerkeys
akan melakukan apa yang Anda inginkan. Kemudian shift-numlock.