77 votes

Raccourci du défilement horizontal dans Windows

Dans Os X, je peux maintenir la touche Maj tout en utilisant la molette de la souris pour faire défiler les pages horizontalement au lieu de verticalement. Existe-t-il un moyen de faire quelque chose de similaire sous Windows ?

5voto

JoshReedSchramm Points 1729

Dans certains programmes Windows, la touche Maj défile horizontalement (par exemple, l'Explorateur Windows).

Dans d'autres programmes tels qu'Internet Explorer, Firefox et Excel, le fait de maintenir le bouton de la molette de défilement enfoncé et de se déplacer de gauche à droite permet un défilement horizontal.

2voto

iagrapefruit Points 21

Voici une solution bricolée pour Word (uniquement) qui nécessite à la fois AutoHotKey et les macros Word. Elle ne fonctionne que sur la vue principale du document dans Word (ce qui est suffisant pour moi).

Tout d'abord, utilisez AutoHotKey pour envoyer une frappe personnalisée à Word en réponse à l'action de la souris. J'utilise Alt-M RightArrow et Alt-M LeftArrow. (J'ai également des mappings pour les événements WheelLeft et WheelRight ci-dessous car ma souris les envoie très bien ; j'ai juste besoin que Word en fasse quelque chose d'utile).

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

Configurez les liaisons de touches de Word (vous pouvez également utiliser la boîte de dialogue de personnalisation du clavier pour ce faire) :

' 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"

Enfin, définissez les macros Word dans votre modèle normal (ou ajustez les références à celles-ci ci-dessus) :

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

2voto

fredlcore Points 11

Ce n'est pas exactement un raccourci clavier, mais vous pouvez toujours cliquer sur la molette de la souris. Dans la plupart des applications, cela fait apparaître une icône à quatre directions que vous pouvez utiliser pour faire défiler les pages.

1voto

FoxyShadoww Points 1187

En combinant les réponses précédentes et les scripts sur Internet. Voici le scripts qui fonctionne dans Word, PowerPoint, Excel et OneNote.

; Scroll speed parameter 
ScrollSpeed=4

; OneNote horizontal scroll
#IfWinActive, ahk_exe ONENOTE.EXE
+WheelUp::WheelLeft
+WheelDown::WheelRight

; PowerPoint horizontal scroll 
#IfWinActive, ahk_exe POWERPNT.EXE
+WheelUp::ComObjActive("PowerPoint.Application").ActiveWindow.SmallScroll(0,0,0,ScrollSpeed)
+WheelDown::ComObjActive("PowerPoint.Application").ActiveWindow.SmallScroll(0,0,ScrollSpeed,0)

; Word horizontal scroll
#IfWinActive, ahk_exe WINWORD.EXE
+WheelUp::ComObjActive("Word.application").ActiveWindow.SmallScroll(0,0,0,ScrollSpeed) 
+WheelDown::ComObjActive("Word.application").ActiveWindow.SmallScroll(0,0,ScrollSpeed,0)

; Excel horizontal scroll
#IfWinActive ahk_exe EXCEL.EXE
+WheelUp::
SetScrollLockState, On
SendInput {Left}
SetScrollLockState, Off
Return
+WheelDown::
SetScrollLockState, On
SendInput {Right}
SetScrollLockState, Off
Return

1voto

Envil Points 148

A partir de la solution de Sam, j'ai développé ma propre solution qui a une vitesse de défilement configurable :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X