나는 트랙볼을 구매하려고 생각하고 내 옵션은 로지텍 트랙맨 대리석입니다. 그러나 나는 스크롤 휠이 없다는 것을 알았습니다. 그걸 어떻게 다루나요? 스크롤 휠로 트랙볼을 구매하고 싶습니까? 나는 페이스 북을 사용하여 많이 스크롤합니다.
내 검지와 가운데 손가락으로 클릭하고 싶지 않으므로 트랙맨 휠과 같은 일부 트랙볼 마우스가 작동하지 않습니다.
답변
Windows를 사용하는 경우 AutoHotKey를 사용해보십시오. 다른 사용자는 이미 Marble Mouse로 스크롤을 해결했습니다 (스크립트를 맨 아래에 사용했습니다).
http://www.autohotkey.com/board/topic/4677-wheel-button-emulation-script/
드라이버와 함께 제공되는 Logitech의 솔루션은 이상합니다. 한 번 클릭하여 4 방향 스크롤을 활성화하고 다시 클릭하여 비활성화하십시오. 당신은 내가 뒤를 따르는 것을 잡고 스크롤 할 수 없습니다. 나는 그들의 소프트웨어를 제거했다.
답변
나는 동일한 트랙볼을 가지고 있으며 솔루션은 매우 우아합니다. 선택한 버튼을 클릭하면 볼 자체가 스크롤 휠이됩니다. 나는 작은 손가락으로 누르는 큰 오른쪽 버튼을 선택했습니다.
이것은 매우 편리하며 익숙해 지려면 며칠 밖에 걸리지 않습니다.
스크롤 휠 (마우스 또는 트랙볼)은 사용할 수없는 것입니다. 날 믿어, 그만한 가치가있다 😉
장점 :
- 1D 대신 2D 스크롤
- 휠보다 빠르고 정확한 스크롤
- 긴 스크롤에 더 편안합니다 (볼의 관성 덕분에). 페이스 북의 예에 딱 맞습니다.
그것 없이는 더 이상 살 수 없습니다.
모든 Linux OS에서 구성하는 것은 어렵지 않습니다. /etc/X11/xorg.conf 파일 만 생성하면됩니다 (내 구성 참조 : Xorg.conf를 편집하지 않고 Linux에서 트랙볼 구성 )
자세한 내용은 https://help.ubuntu.com/community/Logitech_Marblemouse_USB 에서 확인할 수 있습니다.
Windows에서는 경험이 없지만 트랙볼과 함께 구성 도구가 제공된다고 생각합니다.
답변
해당 마우스를 위해 특별히 개발 된 Marble Mouse Scroll Wheel을 사용해 볼 수 있습니다.
Marble Mouse Scroll Wheel 또는 Marble Scroll은 트랙볼이나 마우스없이 스크롤 휠을 시뮬레이션하도록 설계된 작은 프로그램입니다. Logitech Marble Mouse를 위해 특별히 설계되었지만 모든 표준 마우스 또는 트랙볼과 함께 사용할 수 있습니다. Windows 2000 이상을 위해 설계되었습니다.
Marble Scroll은 Logitech의 Autoscroll 및 Universal Scroll 기능을 대체합니다. 실제 스크롤 휠을 올바르게 에뮬레이션하지 않으며 제한과 결함이 있습니다.
Marble Scroll은 마우스 또는 트랙볼과 함께 작동하며 Logitech의 SetPoint 또는 MouseWare 드라이버를 설치할 필요가 없습니다.
풍모
- 두 개 이상의 버튼이있는 마우스에 스크롤 휠 추가
- 스크롤 휠을 지원하는 대부분의 응용 프로그램과의 호환성 (모든 유형의 입력)
- 조정 가능한 가속
- 조정 가능한 스크롤 거리 ( “단계별”-아래 참조)
- 실제 마우스 휠을 시뮬레이션하기위한 단계별 스크롤
- 빠른 왼쪽 / 오른손 모드 스위처
- 트레이 아이콘을 클릭하여 빠른 활성화 / 비활성화
- 작고 가벼운 시스템 리소스
제품의 웹 사이트가 현재 다운 된 것으로 보이지만 다음은 Archive.org 에 사이트 텍스트의 사본입니다 .
다운로드 링크 는 여기에 있습니다 .
답변
AutoHotKey 솔루션과 매우 유사한 간단한 100 라인 C ++ 대안이 있습니다.
- X- 버튼 중 하나를 누른 상태에서 트랙볼을 움직여 수직 / 수평 스크롤 휠 이벤트 보내기
- 트랙볼을 움직이지 않고 X- 버튼을 눌렀다 놓을 때 중간 클릭.
https://github.com/Seelge/TrackballScroll
편집 : 최신 버전은 시스템 트레이 아이콘을 제공하고 Windows 10에서 작동하며 C #을 기반으로합니다.
답변
내가 사용하는 AutoHotKey 스크립트는 다음과 같습니다. 왼쪽의 작은 버튼을 누른 상태에서 공을 위 / 아래로 굴려서 스크롤합니다. 그러나 왼쪽의 작은 버튼을 클릭해도 여전히 BACK이 수행됩니다. 또한 왼쪽 / 오른쪽으로 스크롤 할 수 있지만 너무 민감하여 여기에 주석 처리되어 있습니다 (로 시작하는 블록 ;timesX := Abs(movedx) / 4
).
http://www.autohotkey.com/board/topic/30816-simulate-scroll-wheel-using-right-mouse-button/ 에서 원본 버전을 찾았습니다
. 나는 거기에 다른 사람 8923으로 내 버전을 게시했습니다.
$*XButton1::
Hotkey, $*XButton1 Up, XButton1up, off
;KeyWait, XButton1, T0.4
;If ErrorLevel = 1
;{
Hotkey, $*XButton1 Up, XButton1up, on
MouseGetPos, ox, oy
SetTimer, WatchTheMouse, 5
movedx := 0
movedy := 0
pixelsMoved := 0
; TrayTip, Scrolling started, Emulating scroll wheel
;}
;Else
; Send {XButton1}
return
XButton1up:
Hotkey, $*XButton1 Up, XButton1up, off
SetTimer, WatchTheMouse, off
;TrayTip
If (pixelsMoved = 0)
{
;The mouse was not moved, send the click event
; (May want to make it PGUP or something)
Send {XButton1}
Send {XButton1Up}
}
return
WatchTheMouse:
MouseGetPos, nx, ny
movedx := movedx+nx-ox
movedy := movedy+ny-oy
pixelsMoved := pixelsMoved + Abs(nx-ox) + Abs(ny-oy)
;timesX := Abs(movedx) / 4
;ControlGetFocus, control, A
;Loop, %timesX%
;{
; If (movedx > 0)
; {
; SendMessage, 0x114, 1, 0, %control%, A ; 0x114 is WM_HSCROLL
; movedx := movedx - 4
; }
; Else
; {
; SendMessage, 0x114, 0, 0, %control%, A ; 0x114 is WM_HSCROLL
; movedx := movedx + 4
; }
;}
timesY := Abs(movedy) / 4
Loop, %timesY%
{
If (movedy > 0)
{
Click WheelDown
movedy := movedy - 4
}
Else
{
Click WheelUp
movedy := movedy + 4
}
}
MouseMove ox, oy
return
답변
Logitech이 스크롤 휠 시뮬레이션을 구현하지 않은 것은 부끄러운 일입니다. 드라이버는 그렇게 할 기능을 약속하지만 모든 응용 프로그램에서 작동하지는 않으므로 매우 쓸모가 없습니다. 그들은 완벽한 마우스를 만드는 데 너무 가까웠습니다! :에스
내가 찾은 유일한 해결 방법은 AutoHotkey 스크립트 를 사용하는 것입니다. 그것으로 당신은 작은 왼쪽 / 오른쪽 버튼을 위아래로 스크롤 할 수 있습니다. 완벽하게 작동하지만 구성하기가 매우 번거 롭습니다. AutoHotkey 기본 사항을 먼저 배워야합니다. 그렇게하기로 결정했다면 여기 내 오토 핫키 스크립트가 있습니다. Jerbo의 원본 스크립트를 개조 한 것입니다 . 한 번의 클릭으로 정상적인 속도로 스크롤이 시작되지만 두 번 또는 세 번의 클릭으로 더 빠르게 스크롤이 시작됩니다.
; This script remaps the two small buttons on a Logitech Trackman® Marble® Mouse
; to act as scroll up and scroll down
global lastXButton1ClickTime := 0
global nrSubsequentXButton1Clicks := 0
ScrollTheWheel(direction, scrollKey)
{
now := A_TickCount
timeSinceLastClick := now - lastXButton1ClickTime
lastXButton1ClickTime := now
if (timeSinceLastClick < 300)
{
nrSubsequentXButton1Clicks := nrSubsequentXButton1Clicks + 1
}
else
{
nrSubsequentXButton1Clicks := 1
}
sleepingFraction := 5
if (nrSubsequentXButton1Clicks <= 1)
scrollSpeed := 30
if (nrSubsequentXButton1Clicks == 2)
scrollSpeed := 15
if (nrSubsequentXButton1Clicks >= 3)
scrollSpeed := 5
timeSlept := scrollSpeed
loop
{
if (direction == 1) ; Scroll down
{
static downKeyState
if (scrollKey == 0)
GetKeyState, downKeyState, XButton1, P
else
GetKeyState, downKeyState, PgDn, P
if downKeyState = U ; The key has been released, so break out of the loop
break
if (timeSlept >= scrollSpeed)
{
Send {WheelDown}
timeSlept = 0
}
}
else ; Scroll up
{
static upKeyState
if (scrollKey == 0)
GetKeyState, upKeyState, XButton2, P
else
GetKeyState, upKeyState, PgUp, P
if upKeyState = U ; The key has been released, so break out of the loop
break
if (timeSlept >= scrollSpeed)
{
Send {WheelUp}
timeSlept = 0
}
}
Sleep, sleepingFraction
timeSlept := timeSlept + sleepingFraction
}
}
XButton2::
ScrollTheWheel(0, 0)
return
XButton1::
ScrollTheWheel(1, 0)
return
!PgUp::
ScrollTheWheel(0, 1)
return
!PgDn::
ScrollTheWheel(1, 1)
return
답변
방금 Logitech Marble 마우스를 얻었고 스크롤하는 데 문제가있었습니다. AutoHotKey에서이 스크립트를 만들었습니다. 왼쪽 X 버튼은 스크롤을 가능하게합니다. 즉, 아래쪽으로 공을 사용하여 세로 및 가로로 스크롤 할 수 있으며 브라우저에서 왼쪽 및 오른쪽 버튼을 사용하여 앞뒤로 이동할 수 있습니다. 오른쪽 X 버튼은 중간 버튼과 같은 동작을합니다.
윈도우 7에 임.
#SINGLEINSTANCE FORCE
GLOBAL status := "basic"
GLOBAL cnt_x
GLOBAL cnt_y
XButton2::MButton
$*XButton1::
status := "scroll"
cnt_x := 0
cnt_y := 0
MOUSEGETPOS, st_x, st_y
SETTIMER, _scroll, 30
RETURN
$*XButton1 UP::
status := "basic"
SETTIMER, _scroll, OFF
RETURN
_scroll:
MOUSEGETPOS, cur_x, cur_y
MOUSEMOVE, st_x, st_y
IF(abs(cur_x-st_x) > abs(cur_y-st_y)) {
cnt_x := cnt_x + (cur_x-st_x)
ControlGetFocus, control, A
IF (cnt_x > 7) {
cnt := floor(cnt_x / 8)
LOOP, %cnt% {
SendMessage, 0x114, 0, 0, %control%, A
}
cnt_x := cnt_x - 8*floor(cnt_x / 8)
} ELSE IF (cnt_x < -7) {
cnt := -ceil(cnt_x / 8)
LOOP, %cnt% {
SendMessage, 0x114, 1, 0, %control%, A
}
cnt_x := cnt_x - 8*ceil(cnt_x / 8)
}
} ELSE {
IF (cur_y >= st_y) {
cnt_y := cnt_y + (cur_y-st_y)**1.2
} ELSE {
cnt_y := cnt_y -(st_y-cur_y)**1.2
}
IF (cnt_y > 7) {
cnt := floor(cnt_y / 8)
LOOP, %cnt% {
CLICK WheelUp
}
cnt_y := cnt_y - 8*floor(cnt_y / 8)
} ELSE IF (cnt_y < -7) {
cnt := -ceil(cnt_y / 8)
LOOP, %cnt% {
CLICK WheelDown
}
cnt_y := cnt_y - 8*ceil(cnt_y / 8)
}
}
RETURN
$*LButton::
IF (status = "basic") {
CLICK DOWN Left
} ELSE IF (status = "scroll") {
SEND {Browser_Back}
}
RETURN
$*LButton UP::
IF (status = "basic") {
CLICK UP Left
}
RETURN
$*RButton::
IF (status = "basic") {
CLICK DOWN Right
} ELSE IF (status = "scroll") {
SEND {Browser_Forward}
}
RETURN
$*RButton UP::
IF (status = "basic") {
CLICK UP Right
}
RETURN