ฉันกำลังมองหาวิธีการเลื่อนด้วยแป้นพิมพ์โดยใช้ AutoHotkey มันจะดีมากถ้าฉันสามารถปรับความเร็วในการเลื่อนได้
ฉันกำลังมองหาวิธีการเลื่อนด้วยแป้นพิมพ์โดยใช้ AutoHotkey มันจะดีมากถ้าฉันสามารถปรับความเร็วในการเลื่อนได้
คำตอบ:
คุณสามารถใช้MouseClick
ฟังก์ชั่นเพื่อจำลองล้อเมาส์ นี่คือตัวอย่างสคริปต์ที่ให้คุณเลื่อนโดยกดปุ่ม CapsLock ค้างไว้แล้วกด 'w' เพื่อเลื่อนขึ้นหรือลงเพื่อเลื่อนลง:
CapsLock & w::
MouseClick,WheelUp,,,10,0,D,R
return
CapsLock & s::
MouseClick,WheelDown,,,10,0,D,R
return
คุณสามารถทำให้มันเร็วขึ้นโดยเปลี่ยน10
เป็นค่าที่มากขึ้น มันคือจำนวนของ "detents" ที่คุณต้องการให้ล้อรถเลื่อนดู
นอกจากนี้ยังมีสคริปต์ที่ autohotkey.comซึ่งตั้งค่าปุ่มเมาส์และการเคลื่อนไหวทั้งหมดบน NumPad แม้ว่าฉันจะไม่ได้ลองก็ตาม
นี่คือสคริปต์ที่ฉันเพิ่งทำไป กด 0 และขึ้นหรือลงแป้นลูกศรเพื่อใช้งาน หากคุณไม่มี numpad บนคอมพิวเตอร์คุณสามารถปรับแต่งปุ่มทั้งสองได้ตามที่เห็นสมควร มันทำงานเพื่อให้คุณสามารถกด 0 และปุ่มลูกศรและเลื่อนความเร็วอย่างต่อเนื่อง อาจดีกว่าล้อเลื่อนของตัวเอง?
0 & Up::
Loop
{
Send {WheelUp}
GetKeyState, T, Down
If T=U ; U is a state for up, D is a state for down
Break
}
Return
0 & Down::
Loop
{
Send {WheelDown}
GetKeyState, T, Down
If T=U ; U is a state for up, D is a state for down
Break
}
Return
องว่าไฟเมื่อเปลี่ยนล้อเมาส์ได้รับการสนับสนุนผ่านทางชื่อคีย์WheelDownและWheelUp WheelLeft และ WheelRight ยังรองรับใน v1.0.48 + แต่ไม่มีผลต่อระบบปฏิบัติการรุ่นเก่ากว่า Windows Vista นี่คือตัวอย่างของปุ่มลัดของวงล้อเมาส์:
MButton & WheelDown::MsgBox You turned the mouse wheel down while holding down the middle button.
^!WheelUp::MsgBox You rotated the wheel up while holding down Control+Alt.
ใน v1.0.43.03 + ตัวแปรในตัวA_EventInfoมีจำนวนเงินที่ล้อหมุนซึ่งโดยทั่วไปคือ 1 อย่างไรก็ตาม A_EventInfo อาจมากกว่าหรือน้อยกว่า 1 ภายใต้สถานการณ์ต่อไปนี้:
~WheelDown::ToolTip %A_EventInfo%
ปุ่มลัดที่มีประโยชน์ที่สุดสำหรับล้อเลื่อนของเมาส์นั้นเกี่ยวข้องกับโหมดอื่นในการเลื่อนข้อความของหน้าต่าง ตัวอย่างเช่นปุ่มลัดคู่ต่อไปนี้เลื่อนตามแนวนอนแทนที่จะเป็นแนวตั้งเมื่อคุณหมุนวงล้อในขณะที่กดปุ่มควบคุมค้างไว้:
~LControl & WheelUp:: ; Scroll left.
ControlGetFocus, fcontrol, A
Loop 2 ; <-- Increase this value to scroll faster.
SendMessage, 0x114, 0, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINELEFT.
return
~LControl & WheelDown:: ; Scroll right.
ControlGetFocus, fcontrol, A
Loop 2 ; <-- Increase this value to scroll faster.
SendMessage, 0x114, 1, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINERIGHT.
return
ท้ายที่สุดเนื่องจากปุ่มลัดของล้อเลื่อนของเมาส์จะสร้างเฉพาะเหตุการณ์ที่ไม่เกิดขึ้น (ไม่เคยเกิดเหตุการณ์) จึงไม่สามารถใช้เป็นปุ่มลัดที่สำคัญได้
[ที่มา: ที่นี่ ]
ฉันแนะนำวิธีแก้ปัญหาจาก http://lifehacker.com/5626708/use-autohotkey-to-scroll-backwards-in-the-command-prompt-by-keyboard
ส่วนตัวผมชอบใช้ปุ่ม LWin เป็นตัวดัดแปลง (เพื่อหลีกเลี่ยงการชนกับการผูกกุญแจ Emacs):
LWin & PgUp :: ส่ง {WheelUp} กลับ LWin & PgDn :: ส่ง {WheelDown} กลับ
โซลูชันนี้แตกต่างจากโซลูชันyhw42ที่เข้าใจง่ายและใช้การตั้งค่ามาตรฐานของ Windows สำหรับการเลื่อน (ความเร็วในการเลื่อน)
หมายเหตุเทคนิคนี้มีประโยชน์สำหรับโน้ตบุ๊ก (เนื่องจากทัชแพดอาจไร้ประโยชน์สำหรับผู้ใช้บางคน) และสำหรับผู้ใช้ที่ไม่ชอบเมาส์ เหตุการณ์เมาส์ส่งไปยังองค์ประกอบ GUI ที่ใช้งานดังนั้นคุณต้องมีตำแหน่งเมาส์ที่เหมาะสม
ctrl+alt+up
สำหรับการเลื่อนขึ้นและctrl+alt+down
สำหรับการเลื่อนลง แต่ไม่มีอะไรเกิดขึ้นการเลื่อนไม่ทำงาน กรุณาช่วยด้วยขอบคุณ