Windows의 가로 스크롤 바로 가기


64

Os X에서는 Shift 키를 누른 상태에서 마우스의 스크롤 휠을 사용하여 세로 대신 가로로 스크롤 할 수 있습니다. Windows에서 비슷한 작업을 수행하는 방법이 있습니까?


1
어떤 응용 프로그램에서 스크롤? 탐침? 웹 브라우저? 제작자가 구현하려는 방식에 따라 다르므로 브라우저 인 경우에는 다릅니다.
John T

기본적으로 Windows에는 시스템 전체에 대한 바로 가기가 없다고 생각합니다.
chills42

11
시스템 전체 솔루션을 기대하고있었습니다.
Matthew Shanley

답변:


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 Flipse

23

다음은 shift 및 기본 마우스 휠 스크롤 명령을 사용하여 수행하는 AutoHotKey 스크립트입니다.

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

이것은 https://gist.github.com/cheeaun/160999 에서 직접 가져옵니다 .

Microsoft 응용 프로그램을 포함한 많은 응용 프로그램은 수평 마우스 휠 스크롤을 지원하지 않습니다. (이 기능은 Windows Vista에서만 도입되었다고 생각합니다.)


감사합니다. Visual Studio에서 훌륭하게 작동합니다. Excel 2013 및 Chrome에서는 작동하지 않습니다.
cheeesus

3
@cheeesus, Windows의 경우 Chrome은 실제로 가로 스크롤을 기본적으로 지원합니다. 위의 스크립트가 없어도 Shift 키를 누른 상태에서 마우스 휠을 스크롤하여 가로로 스크롤 할 수 있습니다.
Sam

2
완전한! 이것은 간단하고 쉬운 최고의 답변입니다. AutoHotKey를 처음 사용하는 사람들은 다음 단계를 따르십시오. 1) autohotkey.com 에서 AutoHotKey를 다운로드하여 설치하십시오. 2) 바탕 화면을 마우스 오른쪽 버튼으로 클릭하십시오-> 새로 만들기-> 텍스트 문서-> "myscript.ahk"라는 파일 만들기 3) 위의 스크립트를 복사하여 붙여 넣기-> 파일 저장 4) 파일을 마우스 오른쪽 버튼으로 클릭-> 스크립트 실행 5) 작은 H 아이콘이 작업 표시 줄 알림 영역에 나타나고 이제 "Shift + 마우스 휠"이 가로로 나타납니다 스크롤
np8

@ np8 그것은 나를 위해 작동하지 않았습니다 .. 나는 정확히 그렇게 시도했습니다. 스크롤 휠이있는 일반 hp 마우스를 사용하고 있습니다. 크롬 브라우저는 Shift + 스크롤을 가로로 작동합니다. 항상 ahk 이전에도 마찬가지입니다. 이제 ahk 설치로 .. 나는 MS 오피스가 작동하기를 바라고있었습니다.
ihightower

@ihightower Excel 솔루션도 있습니다. 이 답변에 추가하겠습니다.
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

마우스 오른쪽 버튼으로 Windows에서이를 수행하는 방법이 있습니다. 조그 왼쪽 / 조그 오른쪽 버튼이 오른쪽에 통합 된 스크롤 휠이있는 마우스가 있습니다. 스크롤 휠을 왼쪽이나 오른쪽으로 누르면 내용이 원하는 방향으로 이동합니다. Logitech VX를 보유하고 있으며 매우 만족합니다.

또한 VX를 사용하면 기울어 진 경우 모든 단일 응용 프로그램에 대해 단추를 다르게 구성 할 수 있습니다. 이 수준의 사용자 정의는 매우 좋습니다!


Microsoft 무선 레이저 마우스 5000 ( microsoft.com/hardware/mouseandkeyboard/… )에는이 기능이 있습니다.
트래비스

당신이 올바른지! VX로 업그레이드하기 전에 마우스를 사용했습니다. VX에는 두 가지 매우 유용한 기능이 있으므로 업그레이드했습니다. 스크롤 휠에는 플라이휠이 있으며 7 초 동안 회전합니다. 또 다른 좋은 기능은 마우스 용 USB 동글이 실제로 장치 내부에 완전히 들어 맞기 때문에 동글을 잃기가 매우 어렵습니다.
Axxmasterr

3

일부 Windows 프로그램에서는 Shift가 가로로 스크롤됩니다 (예 : Windows 탐색기).

Internet Explorer, Firefox 및 Excel과 같은 다른 프로그램에서는 스크롤 휠 버튼을 누른 채 왼쪽에서 오른쪽으로 이동하면 가로로 스크롤됩니다.


2
Chrome에는 기본 제공되는 Shift 가로 스크롤도 있습니다.
Sam

VS에서도 작동하는 것처럼 보입니다. 기본적으로 필요한 것입니다! 감사합니다!
Shimmy

2

AutoHotKey와 Word 매크로가 모두 필요한 Word 전용 솔루션입니다. Word의 주 문서보기에서만 작동합니다 (나에게 충분합니다).

먼저 AutoHotKey를 사용하여 마우스 동작에 대한 응답으로 사용자 지정 키 입력을 Word로 보냅니다. 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"

마지막으로 일반 템플릿에서 Word 매크로를 정의하거나 위의 참조를 조정하십시오.

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

2

키보드 단축키는 아니지만 항상 마우스 휠을 클릭 할 수 있습니다. 스크롤하는 데 사용할 수있는 대부분의 응용 프로그램에 4 방향 아이콘이 나타납니다.


1

주변을 둘러 본 후 결국 AutoHotKey 포럼의 두 가지 다른 솔루션에서 적응했지만 소스를 기록하지 않았으므로 Excel과 다른 곳에서 작동 하는 방법 ( AutoHotKey 사용 )을 찾았습니다. 적절한 신용 미안).

MS Excel은 사용자 인터페이스를 처리하는 이상한 방법 이있는 것 같습니다 (어쨌든 MS Office 개발자가 우리에게 준 것을 몇 년 동안 보았지만 놀라지 않았습니다). 이 스크립트는 MS Word를 제외하고 거의 모든 곳에서 작동하는 것 같습니다. 누군가가 해결할 수 있다면 알려주십시오! 아마도 Word의 창 클래스를 찾고 Excel을 사용하여 수행 한 것과 같은 코드를 코딩하는 것과 같은 것일 수 있습니다 (다른 키 바인딩 세트 만 사용).

#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

Sam 솔루션에서 구성 가능한 스크롤 속도를 가진 자체 솔루션을 개발했습니다.

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

훌륭한 대본. 이것은 정말 잘 작동합니다.
Nick Painter

이것이 작동하지 않는 응용 프로그램 만 Windows 탐색기입니다.
Nick Painter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.