विंडोज में क्षैतिज स्क्रॉलिंग शॉर्टकट


64

ओएस एक्स में, मैं माउस पर स्क्रॉल व्हील का उपयोग करते हुए शिफ्ट को क्षैतिज रूप से लंबवत स्क्रॉल करने के लिए पकड़ सकता हूं। क्या विंडोज में कुछ ऐसा ही करने का एक तरीका है?


1
क्या आवेदन में स्क्रॉल? एक्सप्लोरर? एक वेब ब्राउज़र? यह इस बात पर निर्भर करता है कि निर्माता इसे कैसे लागू करना चाहता था यदि यह एक ब्राउज़र है तो यह अलग होगा।
जॉन टी।

मुझे नहीं लगता कि डिफ़ॉल्ट रूप से विंडोज़ पर इसके लिए कोई सिस्टम-वाइड शॉर्टकट है।
chills42

11
मैं एक सिस्टम-वाइड समाधान की उम्मीद कर रहा था।
मैथ्यू शेनले जूल 27'09

जवाबों:


15

आप इसे AutoHotKey के साथ अनुकरण कर सकते हैं

अगर मुझे वह स्क्रिप्ट मिल जाए तो मैं आपको बता दूंगा: इन पोस्ट से:

आपको कुछ स्क्रिप्ट मिलनी चाहिए

#Persistent mhook := > DllCall("SetWindowsHookEx", "int", 14 > ; WH_MOUSE_LL
    , "uint", RegisterCallback("WheelHorzHook"), > "uint", 0, "uint", 0) return

WheelLeft:
    MsgBox WheelLeft return

WheelRight:
    MsgBox WheelRight return

WheelHorzHook(nCode, wParam, lParam) {
    global mhook
    Critical
    if (wParam = 0x020E)  ; WM_MOUSEHWHEEL (Vista-only)
    {
        if (delta := NumGet(lParam+0,10,"Short"))
        {
            if (delta<0) {
                SetTimer, WheelLeft, -1
                return true
            } else {
                SetTimer, WheelRight, -1
                return true
            }
        }
    }
    return DllCall("CallNextHookEx", "uint", mhook, "int", nCode, "uint",
wParam, "uint", lParam) }

आह तुम यह काम करने के लिए मिल गया? बहुत बढ़िया!
Ivo फ्लिप जूल

23

यहां शिफ्ट और (संभवतः) देशी माउस व्हील स्क्रॉल कमांड का उपयोग करके इसे करने के लिए एक ऑटोहॉटकी स्क्रिप्ट दी गई है:

; Shift + Wheel for horizontal scrolling
+WheelDown::WheelRight
+WheelUp::WheelLeft

यह सीधे https://gist.github.com/cheeaun/160999 से लिया गया है ।

ध्यान रखें कि Microsoft अनुप्रयोगों सहित बहुत सारे अनुप्रयोग, क्षैतिज माउस व्हील स्क्रॉलिंग का समर्थन नहीं करते हैं। (मेरा मानना ​​है कि यह सुविधा केवल विंडोज विस्टा में पेश की गई थी।)


धन्यवाद, विजुअल स्टूडियो में बढ़िया काम करता है! बहुत बुरा यह एक्सेल 2013 और Google क्रोम में काम नहीं करता है।
चीयस

3
@cheeesus, मेरे लिए, विंडोज में, Google Chrome वास्तव में क्षैतिज स्क्रॉलिंग के लिए अंतर्निहित समर्थन है। उपरोक्त स्क्रिप्ट के बिना भी, मैं शिफ्ट पकड़ सकता हूं और क्षैतिज रूप से स्क्रॉल करने के लिए माउस व्हील को स्क्रॉल कर सकता हूं।
सैम

2
उत्तम! यह यहाँ सबसे अच्छा उत्तर है, सरल और आसान है। जो लोग AutoHotKey के लिए नए हैं, उनके लिए यहाँ चरण हैं: 1) autohotkey.com से AutoHotKey डाउनलोड और इंस्टॉल करें 2) अपने डेस्कटॉप पर राइट क्लिक करें -> नया -> टेक्स्ट डॉक्यूमेंट -> "myscript.ahk" 3 नामक एक फाइल बनाएं) ऊपर से स्क्रिप्ट को कॉपी-पेस्ट करें -> फ़ाइल को सहेजें 4) फ़ाइल पर राइट-क्लिक करें -> स्क्रिप्ट 5 चलाएं) छोटे एच-आइकन को आपके टास्कबार अधिसूचना क्षेत्र में दिखाई देना चाहिए, और अब "Shift + माउस व्हील" को क्षैतिज उत्पादन करना चाहिए स्क्रॉल करना
np8

@ np8 यह मेरे लिए काम नहीं किया .. मैं ठीक उसी तरह की कोशिश की। मैं स्क्रॉल व्हील के साथ एक सामान्य एचपी माउस का उपयोग कर रहा हूं। क्रोम ब्राउज़र काम करता है शिफ्ट + स्क्रॉल क्षैतिज रूप से .. यह हमेशा आह से पहले भी किया था। अब ahk install के साथ .. मुझे उम्मीद थी कि ms office काम करेगा .. लेकिन ऐसा नहीं है।
इहोवर

@ जियोवर एक्सेल के लिए एक समाधान भी है। मैं इसे इस उत्तर में जोड़ूंगा।
np8

8

से http://www.autohotkey.com/docs/Hotkeys.htm

माउस व्हील के लिए सबसे उपयोगी हॉटकी में से कुछ में खिड़की के पाठ को स्क्रॉल करने के वैकल्पिक तरीके शामिल हैं। उदाहरण के लिए, हॉटकीज़ की निम्न जोड़ी, बायीं ओर क्षैतिज क्षैतिज रूप से स्क्रॉल करती है जब आप बाईं ओर नियंत्रण रखते हुए पहिया घुमाते हैं:

~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

5

सही माउस के साथ खिड़कियों में ऐसा करने का एक तरीका है। मेरे पास एक स्क्रॉल व्हील के साथ एक माउस है जिसमें एक जॉग लेफ्ट / जॉग राइट बटन है जो इसे सही में एकीकृत करता है। बस बाएं या दाएं स्क्रॉल व्हील को धक्का देने से सामग्री वांछित दिशा में चली जाएगी। मेरे पास लॉजिटेक वीएक्स है और मैं इससे बहुत खुश हूं।

VX आपको हर एक एप्लिकेशन के लिए बटन को अलग से कॉन्फ़िगर करने की अनुमति देता है यदि आप बहुत इच्छुक थे। अनुकूलन का यह स्तर बहुत अच्छा है!


Microsoft वायरलेस लेजर माउस 5000 ( microsoft.com/hardware/mouseandkeyboard/… ) में यह कार्यक्षमता है।
ट्रैविस

तुम सही हो! मेरे पास VX में अपग्रेड करने से पहले मेरे पास वह माउस था। वीएक्स में दो बहुत अच्छी विशेषताएं हैं, यही वजह है कि मैंने अपग्रेड किया। इसमें स्क्रॉल-व्हील पर एक चक्का है जो 7 सेकंड के लिए घूमता है। अन्य अच्छी सुविधा माउस के लिए यूएसबी डोंगल है जो वास्तव में डिवाइस के अंदर पूरी तरह से फिट बैठता है, इसलिए डोंगल को खोना बहुत मुश्किल है।
Axxmasterr

3

कुछ विंडोज कार्यक्रमों में शिफ्ट क्षैतिज रूप से स्क्रॉल करता है (जैसे विंडोज एक्सप्लोरर)।

इंटरनेट एक्सप्लोरर, फ़ायरफ़ॉक्स और एक्सेल जैसे अन्य कार्यक्रमों में स्क्रॉल व्हील बटन को दबाए रखना और बाएं से दाएं चलना क्षैतिज रूप से स्क्रॉल करेगा।


2
लगता है कि क्रोम बिल्ट-इन शिफ्ट क्षैतिज स्क्रॉलिंग भी है।
सैम

ऐसा लगता है कि यह वीएस में भी काम करता है, मुझे मूल रूप से क्या चाहिए! धन्यवाद!
शमी

2

यहाँ AutoHotKey और Word macros दोनों के लिए Word (केवल) के लिए एक घिनौना समाधान है। यह केवल Word में मुख्य दस्तावेज़ दृश्य पर काम करता है (जो मेरे लिए काफी अच्छा है)।

सबसे पहले, माउस कार्रवाई के जवाब में Word के लिए एक कस्टम कीस्ट्रोक भेजने के लिए AutoHotKey का उपयोग करें। मैं Alt-M RightArrow और Alt-M LeftArrow का उपयोग कर रहा हूं। (मेरे पास नीचे दिए गए WheelLeft और WheelRight आयोजनों के लिए मैपिंग भी है क्योंकि मेरा माउस उन्हें ठीक भेजता है। मुझे बस उनके साथ उपयोगी कुछ करने के लिए Word की आवश्यकता है।)

#If WinActive("ahk_class OpusApp")
+WheelUp::SendInput !+M{Left}
WheelLeft::SendInput !+M{Left}
WheelRight::SendInput !+M{Right}
+WheelDown::SendInput !+M{Right}
#If

Word कुंजी बाइंडिंग सेट करें (आप वैकल्पिक रूप से ऐसा करने के लिए कीबोर्ड अनुकूलन संवाद का उपयोग कर सकते हैं):

' Alt-Shift-M Right (keycode 39)
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyM, wdKeyShift, wdKeyAlt), _
    KeyCode2:=BuildKeyCode(39), _
    KeyCategory:=wdKeyCategoryMacro, Command:="Normal.NewMacros.ScrollRight"

' Alt-Shift-M Left (keycode 37)
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyM, wdKeyShift, wdKeyAlt), _
    KeyCode2:=BuildKeyCode(37), _
    KeyCategory:=wdKeyCategoryMacro, Command:="Normal.NewMacros.ScrollLeft"

सामान्य रूप से, अपने सामान्य टेम्पलेट में वर्ड मैक्रो को परिभाषित करें (या ऊपर दिए गए संदर्भों को समायोजित करें):

Sub ScrollRight()
    ActiveWindow.SmallScroll ToRight:=1
End Sub
Sub ScrollLeft()
    ActiveWindow.SmallScroll ToLeft:=1
End Sub

2

बिल्कुल कीबोर्ड शॉर्टकट नहीं है, लेकिन आप हमेशा माउस व्हील को क्लिक कर सकते हैं। यह उन अधिकांश एप्लिकेशन में 4-वे आइकन लाता है जिनका उपयोग आप स्क्रॉल करने के लिए कर सकते हैं


1

कुछ चारों ओर देखने के बाद, अंततः एक रास्ता मिला ( ऑटोहोटेके का उपयोग करके ) जो एक्सेल में और हर जगह काम करता है, स्पष्ट रूप से कुछ भी तोड़ने के बिना (ऑटोहोटेकी मंचों पर अलग-अलग समाधानों के एक जोड़े से अनुकूलित, हालांकि मैं रिकॉर्ड स्रोत नहीं दे सकता था इसलिए नहीं दे सकता उचित क्रेडिट क्षमा करें)।

एमएस एक्सेल के यूजर इंटरफेस को संभालने के कुछ अजीब तरीके हैं (हालांकि किसी भी तरह, एमएस ऑफिस डेवलपर्स ने हमें क्या दिया है, यह देखने के कई वर्षों के बाद, मुझे आश्चर्य नहीं है)। यह स्क्रिप्ट एमएस वर्ड को छोड़कर हर जगह बहुत काम की लगती है - अगर कोई इसे हल कर सकता है, तो मुझे बताएं! यह शायद कुछ ऐसा है जैसे वर्ड के लिए विंडो क्लास का पता लगाना और उसके लिए कोडिंग करना विशेष रूप से एक्सेल के साथ किया गया था (बस कुंजी बाइंडिंग के एक अलग सेट के साथ)।

#Singleinstance Force
#IfWinActive ahk_class XLMAIN
+WheelUp::
SetScrollLockState, On
SendInput {Left}
SetScrollLockState, Off
Return
+WheelDown::
SetScrollLockState, On
SendInput {Right}
SetScrollLockState, Off
Return

; Everything except Excel.
#IfWinNotActive ahk_class XLMAIN
+WheelUp::  ; Scroll left.
ControlGetFocus, fcontrol, A
Loop 4  ; <-- 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

+WheelDown::  ; Scroll right.
ControlGetFocus, fcontrol, A
Loop 4  ; <-- 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
#IfWinActive

1

सैम समाधान से, मैंने अपना स्वयं का समाधान विकसित किया जिसमें विन्यास योग्य स्क्रॉल गति है:

https://gist.github.com/envil/d21a24744b68fda626b4444784f71c32

; Shift + Wheel for horizontal scrolling
+WheelUp::
    ; Scroll to the left
    MouseGetPos,,,id, fcontrol,1
    Loop 8 ; <-- Increase for faster scrolling
        SendMessage, 0x114, 0, 0, %fcontrol%, ahk_id %id% ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINERIGHT.
return
+WheelDown::
    ;Scroll to the right
    MouseGetPos,,,id, fcontrol,1
    Loop 8 ; <-- Increase for faster scrolling
        SendMessage, 0x114, 1, 0, %fcontrol%, ahk_id %id% ;  0x114 is WM_HSCROLL and the 1 after it is SB_LINELEFT.
return

महान स्क्रिप्ट। यह वास्तव में अच्छी तरह से काम करता है।
निक पेंटर

केवल एप्लिकेशन जो इस पर काम नहीं करता है वह विंडोज एक्सप्लोरर है।
निक पेंटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.