ฉันต้องการสร้างปุ่มบนคีย์บอร์ดเพื่อทำหน้าที่เหมือนคลิกเมาส์โดยควรใช้ xmodmap ฉันต้องทำอย่างไร?
ใช้งาน Ubuntu 10.10
ฉันต้องการสร้างปุ่มบนคีย์บอร์ดเพื่อทำหน้าที่เหมือนคลิกเมาส์โดยควรใช้ xmodmap ฉันต้องทำอย่างไร?
ใช้งาน Ubuntu 10.10
คำตอบ:
ขั้นตอนต่อไปนี้จะช่วยให้คุณเชื่อมโยงแป้นคีย์บอร์ดกับปุ่มเมาส์อีกครั้ง
ระบุแป้นคีย์บอร์ดโดยใช้xev
ยูทิลิตี้
การเรียกใช้ยูทิลิตี้ xev และการกดแป้นคีย์บอร์ดเพื่อทำการ rewired จะทำให้เกิดผลลัพธ์เช่นนี้
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
โปรดทราบรหัสที่จะถูก reamapped
รัน xkbset utilty
xkbset m
ทำการแมปใหม่โดยใช้ยูทิลิตี้ xmodmap
ในปุ่มเมนูด้านล่างกรณีจะถูกแมปไปยังปุ่มเมาส์ขวา
xmodmap -e "keycode 135 = Pointer_Button3"
ฉันคิดว่าคุณสามารถทำได้โดยใช้ xmodmap และ Pointer_Button1 keymap
ดูในไฟล์ /usr/include/X11/keysymdef.h สำหรับการสะกดและการใช้อักษรตัวพิมพ์ใหญ่ที่แน่นอน แต่ควรแมปแป้นคีย์บอร์ดเข้ากับปุ่มเมาส์ (1,2,3 ฯลฯ ) แม้แต่การดับเบิลคลิก ( ดูไฟล์ส่วนหัวใกล้กับบรรทัดที่ 460 หรือมากกว่านั้น)
keysym W = Pointer_Button1
อาจทำงานได้ทำให้ปุ่ม W ทำหน้าที่เป็นปุ่มซ้ายของเมาส์ ฉันขอแนะนำให้ใช้รหัสอื่นยกเว้นว่าคุณไม่ได้ใช้ W's ใด ๆ แต่มีประโยชน์สำหรับคุณ (ไม่ฉันจะไม่ลองด้วยตัวเองฉันต้องการ W ของฉัน!)
ดูหน้า man สำหรับ xmodmap และเนื้อหาของ /usr/include/X11/keysymdef.h เพื่อให้การสะกดถูกต้อง วางคำนำหน้า XK_ เพื่อใช้ชื่อ keysym สำหรับ xmodmap
ดูเหมือนว่ามัน (keysymdef.h) ในแพ็คเกจ x11-proto-core-dev สำหรับระบบ Debian ของฉัน ... คุณอาจต้องการค้นหาไฟล์และเนื้อหาในระบบออนไลน์สงสัยว่าคุณต้องการติดตั้งไฟล์ -dev ทั้งหมดที่เกี่ยวข้องกับ เพิ่งได้รับหนึ่งที่ GIYF
บางสิ่งบางอย่างที่จั๊กจี้อยู่ในหัวของฉันเกี่ยวกับวิธีการทำเช่นนี้อีก แต่ตอนนี้ไม่มีอะไรมาหาฉัน
OH! ขึ้นอยู่กับความต้องการของคุณคุณอาจเปลี่ยนไปใช้ Keyboard Mouse Emulation โดยเปลี่ยนแป้นตัวเลขเป็นเมาส์สองปุ่ม (ไม่มีล้อเลื่อน!)
Option XkbOptions "keypad:pointerkeys"
ตั้งแต่ในขณะที่ที่ผ่านมาและตอนนี้ความต้องการ การกดปุ่มไม่ใช่วิธีเดียวที่จะเปิดใช้งาน: xkbset m
ทำตามcrunchbang.org/forums/viewtopic.php?id=27937หรือไม่และสามารถควบคุมการหมดเวลาที่น่ารังเกียจและปิดใช้งานจาก cmdline
โหมด "Keyboard Mouse Emulation" ในตัวสามารถทำได้และ / แต่มีคีย์ผสมที่กำหนดค่าไว้ล่วงหน้าสำหรับการจำลองการคลิกและกดของเมาส์ต่างๆ (สำหรับการลาก)
(FYI: การผสมคีย์เพื่อเปิดใช้นี้ได้ถูกลบออกจากคีย์แมปเริ่มต้นตั้งแต่เมื่อสักครู่ที่ผ่านมาและตอนนี้ต้องการ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
และ.
สำหรับการกดและปล่อยปุ่มที่เลือก (สำหรับการลาก ฯลฯ )ฉันไม่สามารถเปิดใช้งาน "Keyboard Mouse Emulation" ได้เสมอ ดังนั้นฉันจึงใช้รหัสพิเศษ (เหมือนในkeypad:pointerkeys
) เพื่อทำสิ่งนี้
ฉันพบว่า Xfce กำลังสับสนกับการตั้งค่าเหล่านี้เช่นกันเมื่อเริ่มต้นดังนั้นหากxkbset m
เรียกใช้ก่อน Xfce การตั้งค่าจะไม่ทำงาน ดังนั้นผมต้องเปลี่ยนการตั้งค่าในการกำหนดค่า Xfce เพื่อให้ตรงกับความปรารถนาโดยรวมของฉันคือ: การตั้งค่า Xfce: การเข้าถึง: เมาส์: เปิดใช้งานการจำลอง (แหล่งที่มาสำหรับฉันเรียนรู้เกี่ยวกับการดำรงอยู่ของตัวเลือก Xfce นั้นคือ: https://bugzilla.xfce.org/show_bug.cgi?id=3860 ) สิ่งนี้ดูเหมือนจะช่วยได้ (ฉันยังปิดการใช้งานทัชแพดของฉันด้วยxinput float ...
สิ่งนี้ยุ่งเหยิงโดยการสลับระหว่างคอนโซลลินุกซ์ แต่สามารถแก้ไขได้อีกครั้งโดยปิดใช้งานอุปกรณ์นี้ในการตั้งค่า Xfce อย่างน้อย)
setxkbmap -option keypad:pointerkeys
จะทำในสิ่งที่คุณต้องการ จากนั้นเปลี่ยนเป็น -Numlock