다른 창으로 전환하지 않고 스크롤하는 단축키


1

Emacs는 키 C-M-v바인드 ( scroll-other-windowEmacs Lisp)에 멋진 기능을 가지고 있는데 , 이로 인해 다른 창으로 전환하지 않고 두 개의 창이있는 프레임의 다른 창이 스크롤됩니다 (두 개 이상의 창에서는 시도하지 않았습니다). Mac OS X 최상위 윈도우 (즉, 비 Emacs 윈도우)와 동등한 기능을 수행 할 수있는 방법이 있습니까?

특히 Chrome 및 iTerm 창을 스크롤하는 데 관심이 있지만 더 일반적인 솔루션이 좋습니다. 나는 일종의 핫키 응용 프로그램을 설치해야한다고 가정하지만, 그 반대는 아닙니다.

답변:


2

AppleScript를 사용하여 두 번째로 맨 앞 응용 프로그램이나 창을 얻는 방법을 모르겠습니다.

delay 0.3 -- time to release modifier keys if the script is run with a shortcut
tell application "System Events"
    set p to process 1 where it is frontmost
    set visible of p to false
    delay 0.01
    key code 121 -- 121 = page down, 116 = page up
    set frontmost of p to true
end tell

숨겨진 윈도우와 활성화 된 윈도우는 깜박입니다.

브라우저를 사용하면 window.scrollBy ()를 사용할 수 있습니다.

tell application "Safari" to tell document 1
    do JavaScript "window.scrollBy(0,(window.innerHeight-20))"
end tell

tell application "Google Chrome" to tell active tab of window 1
    execute javascript "window.scrollBy(0,(window.innerHeight-20))"
end tell

다른 옵션은 예를 들어 KeyRemap4MacBook을 사용하여 ⌃F4 , 페이지 위로 또는 페이지 아래로 및 ⌃⇧F4 누르기를 시뮬레이션하는 것입니다 .

<autogen>__KeyToKey__ KeyCode::CURSOR_UP, ModifierFlag::FN | ModifierFlag::CONTROL_L | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::CONTROL_L, KeyCode::PAGEUP, KeyCode::F4, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_DOWN, ModifierFlag::FN | ModifierFlag::CONTROL_L | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::CONTROL_L, KeyCode::PAGEDOWN, KeyCode::F4, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen>

또한 시각적 결함을 유발하고 ⌃F4는 때때로 숨겨진 응용 프로그램에서 창을 선택합니다.


이것들은 광고 된대로 작동하지만 첫 번째 응용 프로그램은 가장 앞면의 응용 프로그램을 일시적으로 깜박이고 두 번째 응용 프로그램은 Safari에서만 작동합니다. 마지막 앱의 활성 페이지에서 올바르게 작동한다는 이점이 있습니다. 비록 일반적인 해결책을 원하지만, 나는 깜박임과 AppleScript의 느린 성능을 선호합니다.
echristopherson

1

BetterTouchTool 이 특정 애플리케이션에 임의의 키를 전송할 수 있다는 사실을 발견 했으며 이를 전송 Page UpPage DownChrome으로 설정했습니다 . 내가 원하는만큼 일반적인 것처럼 보이지는 않습니다 (즉, 마지막으로 선택한 앱으로 이벤트를 보낼 수는 없으며 실제 스 와이프 이벤트를 보낼 수는 없습니다). 그렇습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.