উইন্ডোজে অনুভূমিক স্ক্রোলিং শর্টকাট


64

ওস এক্স-এ, আমি উল্টোর পরিবর্তে অনুভূমিকভাবে স্ক্রোল করতে মাউসের স্ক্রোল হুইলটি ব্যবহার করার সময় শিফটটি ধরে রাখতে পারি। উইন্ডোজে অনুরূপ কিছু করার কোনও উপায় আছে কি?


1
কোন আবেদনে স্ক্রোলিং? অনুসন্ধানকারী? একটি ওয়েব ব্রাউজার? এটি নির্মাতা কীভাবে এটি বাস্তবায়ন করতে চেয়েছিল তার উপর নির্ভরশীল তাই যদি এটি ব্রাউজার হয় তবে এটি অন্যরকম হবে।
জন টি

আমি মনে করি না ডিফল্টরূপে উইন্ডোজগুলিতে এর জন্য একটি সিস্টেম-প্রশস্ত শর্টকাট রয়েছে।
শীতল 42

11
আমি সিস্টেম-ব্যাপী সমাধানের আশা করছিলাম।
ম্যাথু শ্যানলি

উত্তর:


15

আপনি এটি অটোহটকি দিয়ে অনুকরণ করতে পারেন

আমি যদি স্ক্রিপ্টটি খুঁজে পাই তবে আমি আপনাকে জানিয়ে দেব: এই পোস্টগুলি থেকে:

আপনার কিছু স্ক্রিপ্ট পাওয়া উচিত

#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) }

আহ আপনি কাজ করতে পেয়েছেন? অসাধারণ!
আইভো ফ্লিপস

23

শিফট এবং (সম্ভবত) নেটিভ মাউস হুইল স্ক্রোল কমান্ড ব্যবহার করে এটি করার জন্য এখানে একটি অটোহটকি স্ক্রিপ্ট রয়েছে:

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

এটি সরাসরি https://gist.github.com/cheeaun/160999 থেকে নেওয়া হয়েছে ।

মনে রাখবেন যে মাইক্রোসফ্ট অ্যাপ্লিকেশন সহ প্রচুর অ্যাপ্লিকেশনগুলি অনুভূমিক মাউস হুইল স্ক্রোলিং সমর্থন করে না। (আমি বিশ্বাস করি বৈশিষ্ট্যটি কেবল উইন্ডোজ ভিস্তার মধ্যেই প্রবর্তিত হয়েছিল।)


আপনাকে ধন্যবাদ, ভিজ্যুয়াল স্টুডিওতে দুর্দান্ত কাজ করে! খুব খারাপ এটি এক্সেল 2013 এবং গুগল ক্রোমে কাজ করে না।
চিজুস

3
উইন্ডোজে আমার জন্য @ চিজাস, গুগল ক্রোম আসলে অনুভূমিক স্ক্রোলিংয়ের জন্য অন্তর্নির্মিত সমর্থন করেছে। এমনকি উপরের স্ক্রিপ্টটি ছাড়াই আমি শিফটটি ধরে রাখতে পারি এবং অনুভূমিকভাবে স্ক্রোল করতে মাউস হুইলটি স্ক্রোল করতে পারি।
স্যাম

2
পারফেক্ট! এটি এখানে সর্বোত্তম উত্তর, সহজ এবং সহজ। যারা AutoHotKey নতুন জন্য, এখানে পদক্ষেপ: 1) ডাউনলোড করুন এবং থেকে AutoHotKey ইনস্টল autohotkey.com আপনার ডেস্কটপে 2) রাইট ক্লিক -> নতুন -> পাঠ্য ডকুমেন্ট -> একটি ফাইল নামক করুন "myscript.ahk" 3) উপরের থেকে স্ক্রিপ্টটি অনুলিপি করুন -> ফাইলটি সংরক্ষণ করুন 4) ফাইলটিতে ডান ক্লিক করুন -> স্ক্রিপ্ট চালান 5) আপনার এই টাস্কবারের বিজ্ঞপ্তি অঞ্চলে ছোট এইচ-আইকনটি উপস্থিত হওয়া উচিত এবং এখন "শিফট + মাউস হুইল" অনুভূমিক উত্পন্ন করা উচিত স্ক্রোলিং
এনপি 8

@ np8 এটি আমার পক্ষে কার্যকর হয়নি .. আমি ঠিক সেভাবে চেষ্টা করেছি। আমি স্ক্রোল হুইল সহ একটি সাধারণ এইচপি মাউস ব্যবহার করছি। ক্রোম ব্রাউজার শিফট + আনুভূমিকভাবে স্ক্রোল করে কাজ করে .. এটি সর্বদা আহকের আগেও করেছিল। এখন আহ ইনস্টল দিয়ে .. আমি আশা করছিলাম এমএস অফিস কাজ করবে .. তবে তা হয় না।
ihightower

@ ihightower এক্সেলের জন্যও একটি সমাধান রয়েছে। আমি এই উত্তরে এটি যুক্ত করব।
এনপি 8

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

ডান মাউস দিয়ে উইন্ডোতে এটি করার একটি উপায় রয়েছে। আমার কাছে একটি স্ক্রোল হুইল সহ একটি মাউস রয়েছে যাতে জগ বামে / জগ ডান বোতামটিতে ডানদিকে একত্রিত হয়। কেবল স্ক্রল চাকাটিকে বাম বা ডানদিকে চাপানো বিষয়বস্তুগুলিকে পছন্দসই দিকে নিয়ে যাবে। আমার লগিটেক ভিএক্স আছে এবং আমি এটিতে খুব খুশি হয়েছি।

আপনি যদি ঝোঁক থাকেন তবে ভিএক্স আপনাকে প্রতিটি একক অ্যাপ্লিকেশনের জন্য বোতামগুলি আলাদাভাবে কনফিগার করতে দেয়। এই স্তরের কাস্টমাইজেশনটি খুব সুন্দর!


মাইক্রোসফ্ট ওয়্যারলেস লেজার মাউস 5000 ( মাইক্রোসফ্ট / ওয়ার্ডওয়্যার / মাউসঅ্যান্ডকিবোর্ড/… ) এর কার্যকারিতা রয়েছে।
ট্র্যাভিস

আপনি সঠিক! ভিএক্সে আপগ্রেড করার আগে আমার সেই মাউসটি ছিল। ভিএক্সের দুটি খুব সুন্দর বৈশিষ্ট্য রয়েছে যার কারণে আমি আপগ্রেড করেছি। এটিতে স্ক্রোল-হুইলে একটি ফ্লাইওহিল রয়েছে যা 7 সেকেন্ডের জন্য স্পিন করে। অন্য দুর্দান্ত বৈশিষ্ট্যটি হ'ল ইউএসবি ডংল হ'ল মাউসটি ডিভাইসের অভ্যন্তরে পুরোপুরি ফিট করে, তাই ডংলটি হারাতে খুব কঠিন।
এএক্সএক্সমাস্টার

3

কিছু উইন্ডোজ প্রোগ্রামে শিফ্টটি অনুভূমিকভাবে স্ক্রোল করে না (যেমন উইন্ডোজ এক্সপ্লোরার)।

ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং এক্সেলের মতো অন্যান্য প্রোগ্রামগুলিতে স্ক্রোল হুইল বোতামটি ধরে রাখা এবং বাম থেকে ডানে সরে যাওয়া অনুভূমিকভাবে স্ক্রোল করবে।


2
ক্রোমের মনে হয় বিল্ট-ইন শিফ্ট অনুভূমিক স্ক্রোলিংও রয়েছে seems
স্যাম

দেখে মনে হচ্ছে এটি ভিএস-তেও কাজ করে, আমার মূলত যা প্রয়োজন! ধন্যবাদ!
শিমি

2

এখানে ওয়ার্ডের হ্যাকি সমাধান রয়েছে (কেবলমাত্র) অটোহটকি এবং ওয়ার্ড ম্যাক্রোগ উভয়ই প্রয়োজন। এটি কেবল ওয়ার্ডে মূল দস্তাবেজ দর্শনে কাজ করে (যা আমার পক্ষে যথেষ্ট ভাল)।

প্রথমে মাউসের ক্রিয়াটির প্রতিক্রিয়া হিসাবে ওয়ার্ডে একটি কাস্টম কীস্ট্রোক প্রেরণ করতে অটোহটকি ব্যবহার করুন। আমি আল্ট-এম রাইটআরো এবং আল্ট-এম বামত্যাগ ব্যবহার করছি। (নীচে হুইল লেফট এবং হুইলরাইট ইভেন্টের জন্য ম্যাপিংও রয়েছে কারণ আমার মাউস এগুলি ঠিকঠাক পাঠায়; তাদের সাথে দরকারী কিছু করার জন্য আমার কেবল ওয়ার্ড প্রয়োজন))

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

ওয়ার্ড কী বাইন্ডিংস সেট আপ করুন (আপনি এটি করতে বিকল্পভাবে কীবোর্ড কাস্টমাইজেশন ডায়ালগটি ব্যবহার করতে পারেন):

' 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

দুর্দান্ত স্ক্রিপ্ট। এটি সত্যিই ভাল কাজ করে।
নিক পেন্টার

উইন্ডোজ এক্সপ্লোরার কেবল এই অ্যাপ্লিকেশনটিতে এটি কাজ করে না বলে মনে হয়।
নিক পেইন্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.