시스템 전체에서 마우스 이동 (X 및 Y 축)을 어떻게 되돌릴 수 있습니까? (승 7 x64)


27

짧은 버전

X 및 Y 마우스 축 이동을 반대로하는 방법을 찾고 있습니다. 컴퓨터에서 Windows 7, x64 및 Logitech SetPoint 6.32가 실행되고 있습니다. 시스템 수준의 영구적 인 수정을 원합니다. 마우스 드라이버 수정 또는 레지스트리 조정과 같은 누구든지 이것을 구현하는 견고한 방법이나 이것을 변경하기 위해 레지스트리 값을 찾는 방법을 알고 있습니까? 마우스와 트랙볼에 대해 SetPoint 6.32의 오리엔테이션 기능을 활성화하는 방법에 대해 매우 기쁘게 생각합니다.

Long Version 사람들은 내가 왜 이것을 원하는지 이해하지 못하는 것 같습니다. 나는 보통 "마우스를 오른쪽으로 사용하십시오!" 조언. 실독증은 "바로 물건을 올바르게 읽는 것"만으로 치료할 수있는 것이 아닙니다. 도와 주려는 노력에 감사하지만 일부 배경이 사람들이 이해하는 데 도움이되기를 바랍니다.

마우스 움직임이 거꾸로 발생하는 비정상적인 난독증을 가진 사용자가 있습니다. 커서를 왼쪽으로 움직이려면 마우스를 오른쪽으로 움직입니다. 커서를 위로 움직이려면 마우스를 아래로 내립니다. 그녀는 마우스를 거꾸로 세운 채 정교한 클릭이 어렵고 인체 공학적으로 끔찍하며 멀티 버튼 마우스를 완전히 쓸모 없게 만듭니다.

옛날에는 마우스 드라이버에 마우스 이동과 커서 이동 사이의 관계를 설정하는 데 사용할 수있는 방향 기능 (일반적으로 마우스 움직임 방향을 설정하기 위해 위로 끌어온 열기구)이 포함되었습니다. 몇 년 전, 마우스 드라이버는 "개선"되었으며이 기능은 트랙볼로 제한되었습니다.

오리엔테이션 기능을 잃은 후 Logitech SetPoint에 대한 조정 인 UberOptions를 찾을 때까지 거꾸로 마우스로 거꾸로 돌아가서 모든 포인팅 장치에 대한 모든 기능을 활성화합니다. 방향 기능이 포함되었습니다. 그리고 기뻐했습니다.

이제 그녀의 마우스가 죽었고 현재 Logitech 마우스에는 UberOptions가 업데이트되지 않은 최신 버전의 SetPoint가 필요합니다. 또한 MAF-Mouse (개발자는 64 비트 Windows 용 버전은 아직 USB 마우스를 지원하지 않음을 나타냄 )와 Sakasa (작동하는 동안 웹에 대한 논평은 무작위로 자주 끊어지는 경향이 있음 )을 보았습니다 . 시스템 전체가 아닌 실행중인 프로그램).

매우 정교한 레지스트리 해킹을 보았습니다. 예를 들어, F-Lock 키가 발명되었을 때 F1-F12 키로 만든 코드를 변경하고 기본적으로 키보드를 조이는 해킹을 사용했습니다. 레지스트리에서 X와 Y를 뒤집을 수있는 방법이 있기를 바랍니다. 또는 비슷한 다른 시스템 수준의 조정이 있습니다.

다른 솔루션은 트랙볼뿐만 아니라 마우스의 방향 기능을 다시 활성화 할 수 있습니다. 입력 장치 드라이버에 접근성 문제에 필연적으로 필요한 기능이 포함되어 있다는 것은 매우 실망 스럽지만, 드라이버를 더 멍청이 방지하기 위해 비활성화되었습니다.


하드웨어 지향 솔루션을위한 Electronics에 대한 나의 질문 : electronics.stackexchange.com/questions/29014/…
JYelton

1
참고로, UberOptions가 기본적으로 지원하는 SetPoint 버전과 함께 제공된 아주 오래된 마우스를 사용하더라도 최신 버전의 SetPoint를 실행하고 있으며 UberOptions는 여전히 작동합니다. SetPoint 폴더를 SetPoint 6 ( setpointP)에 사용 된 폴더로 수동 변경하면됩니다 . 여기를 참조하십시오 . 개인적으로 Logitech이 UberOptions 개발자를 이미 고용하기를 바랍니다. SetPoint는 끔찍하며 uberOptions없이 키보드 / 마우스를 거의 사용할 수 없습니다.
Lèse majesté

1
@ Lèsemajesté Logitech이 UberOptions 개발자를 고용하기를 희망합니다. 그녀가 설명하는대로 이전 마우스가 작동하는 동안 UberOptions는 대체 마우스를 지원하지 않습니다. 분명히 게임용 마우스에는 완전히 다른 SetPoint가 있으며, 마우스를 뒤집어서 손을 뻗을 수 있기 때문에 모든 추가 버튼에 상당히 부착되어 있습니다.
Scivitri

답변:


18

온라인에서 아무것도 찾을 수 없었고, 이것이 만들기가 너무 어려워서는 안된다고 생각했기 때문에 직접 만들어 보았습니다. 실행하려면 Microsoft .NET Framework 4.0이 필요 합니다.

다항식 마우스 인버터 (CC-BY-NC-SA 라이센스에 따라 프리웨어)-( Alt 링크 )

그것이 당신을 위해 어떻게 작동하는지 알려주세요 :)


죄송합니다. 시간이 오래 걸리지 만 실제로 반전을 수행하는 코드는 다음과 같습니다.

internal class Inverter
{
    private Point pos = Cursor.Position;

    private bool invertX;

    private bool invertY;

    private bool running;

    private bool exit;

    public bool InvertX
    {
        get
        {
            return this.invertX;
        }
        set
        {
            this.invertX = value;
            if (this.InvertSettingsChanged != null)
            {
                this.InvertSettingsChanged(this, new EventArgs());
            }
        }
    }

    public bool InvertY
    {
        get
        {
            return this.invertY;
        }
        set
        {
            this.invertY = value;
            if (this.InvertSettingsChanged != null)
            {
                this.InvertSettingsChanged(this, new EventArgs());
            }
        }
    }

    public bool Running
    {
        get
        {
            return this.running;
        }
    }

    public Inverter(bool x, bool y)
    {
        this.invertX = x;
        this.invertY = y;
        this.pos = Cursor.Position;
    }

    private void MouseLoop()
    {
        Thread.CurrentThread.IsBackground = true;
        Thread.CurrentThread.Priority = ThreadPriority.Highest;
        while (!this.exit)
        {
            Point position = Cursor.Position;
            int right = (this.invertX ? this.pos.X - (position.X - this.pos.X) : position.X);
            if (this.invertX)
            {
                if (right < 2)
                {
                    right = 2;
                }
                if (right > Screen.FromPoint(position).Bounds.Right - 2)
                {
                    Rectangle bounds = Screen.FromPoint(position).Bounds;
                    right = bounds.Right - 2;
                }
            }
            int bottom = (this.invertY ? this.pos.Y - (position.Y - this.pos.Y) : position.Y);
            if (this.invertY)
            {
                if (bottom < 2)
                {
                    bottom = 2;
                }
                if (bottom > Screen.FromPoint(position).Bounds.Bottom - 2)
                {
                    Rectangle rectangle = Screen.FromPoint(position).Bounds;
                    bottom = rectangle.Bottom - 2;
                }
            }
            Cursor.Position = new Point(right, bottom);
            this.pos = Cursor.Position;
            Thread.Sleep(1);
        }
        this.exit = false;
    }

    public void Start()
    {
        this.pos = Cursor.Position;
        this.running = true;
        (new Thread(new ThreadStart(this.MouseLoop))).Start();
    }

    public void Stop()
    {
        this.running = false;
        this.exit = true;
    }

    public event EventHandler InvertSettingsChanged;
}

Telerik JustDecompile을 사용하여 실행 파일 에서이 코드를 가져 왔습니다. 원래 코드가 없기 때문입니다. 전체 애플리케이션 코드가 필요한 경우 JD로 전체 VS 프로젝트를 추출 할 수 있습니다.


1
고맙습니다! 그것은 내가 예상했던 것보다 훨씬 더 많은 노력이었습니다! 우리는 그것을 테스트하고 그것이 그녀에게 어떻게 작동하는지 볼 것입니다.
Scivitri

문제 없어. 실제로 그렇게 어렵지는 않았습니다. 약간 정리하고 몇 가지 추가 기능을 추가 한 후에는이를 오픈 소스로 릴리스합니다.
다항식

조만간 코드를 릴리스 할 가능성이 있습니까? 아니면 나에게 우편으로 보낼 수 있습니까? :)
Dirk

그냥 내 옛날 하드 디스크를 통해 파고하지만이 코드가 잃어버린 것 같다 :( 내가 시간을 얻을 경우, 나는 리버스 엔지니어링을 것입니다 그것을 다시 실행 파일에서.
다항식

1
@remyabel 핵심 코드가 추가되었습니다. 필요한 경우 JustDecompile로 나머지를 꺼낼 수 있습니다.
다항식

10

마우스 동작을 반대로하는 SakasaMouse 라는 프로그램이 있습니다 .

SakasaMouse는 x 축 및 / 또는 y 축에서 마우스 커서 이동 방향을 반전시키는 프리웨어입니다.

마우스를 오른쪽으로 움직이면 마우스 포인터가 왼쪽으로 움직입니다.

방금 구입 한 새로운 무선 장치를 포함하여 모든 마우스에서 작동합니다. 그것의 유일한 문제는 경고없이 다시 전환 할 수 있다는 것입니다.


잠긴 컴퓨터에 다시 로그인 한 후 마우스 커서가 보이지 않았습니다. 작업 트레이로 이동하여 앱을 닫는 것은 까다로 웠습니다. Windows 8.1
user3071284

5

나는 MAFMouse의 저자이며 x64 버전이 아직 USB 마우스에서 작동하지 않는다는 것이 사실입니다 (32 비트 버전은 작동합니다!). 나는 현재이 일을하기에 너무 바쁩니다.

그래서 제 제안은 PS2 마우스를 사용하는 것입니다. 이것은 게임에서도 매우 훌륭하고 시스템 전체에서 작동합니다.

마우스를 180도 회전 한 다음 (케이블이 사용자를 가리킴) 많은 사용자가이 드라이버에 매우 만족합니다. 흥미롭게도 하나는 제외하고 모두 여성입니다 :)

Windows 7에서의 설치는 약간 복잡합니다. 자세한 내용은 저에게 연락하십시오 ...


문제가 많지 않으면 Windows 7에 설치하기위한 지침이나 링크를 게시 할 수 있으면 다른 사용자에게이 답변이 더 유용 할 것입니다.
Lèse majesté

1
이 베타 버전은 공개 다운로드 용으로 제공되지 않기 때문에 설치 지침만으로는 도움이되지 않습니다. :) 복잡하므로 해당 지침을 작성하는 것이 다소 효과가 있으며 먼저 드라이버를 끝내고 싶습니다. 지침에 도움이 필요하면 환영합니다!
Moritz

1
@Moritz SE에와 주셔서 감사합니다. 불행히도, 그녀의 마더 보드에는 더 이상 PS2 포트가 있다고 생각하지 않습니다. 그들은 더 이상 쓸모가 없습니다. 그녀는 USB 만 사용하는 경향이있는 더 많은 버튼이있는 마우스에 다소 부착되어 있습니다.
Scivitri

해당 위치의 버튼을 어떻게 클릭 할 수 있습니까?
phuclv

중요 업데이트 : 저는 MAFMouse의 저자이며 이제 32 비트 제한이 사라졌습니다. x64가 지원되고 드라이버가 서명되었으므로 설치가 훨씬 쉽습니다. 요청시 (현재 다운로드하지 않음) 사용할 수 있으며 게임 (예 : 일반적인 Y 축 반전)에서도 시스템 전반에 걸쳐 매우 훌륭하고 효과적입니다. -Moritz
maf-soft

3

흥미로운 반전 마우스 AHK 스크립트가 있습니다 :

BlockInput Mouse
SetMouseDelay -1

MouseGetPos x0, y0
SetTimer WatchMouse, 1
Return

WatchMouse:
   MouseGetPos x, y
   MouseMove 2*(x0-x), 2*(y0-y), 0, R
   MouseGetPos x0, y0
Return

!z::ExitApp

나는 여기에서 그것을 얻었다 : https://autohotkey.com/board/topic/17828-invert-mouse-axis/

귀하의 경우에는 마우스 내부의 축을 반전시키기 위해 빠른 HW 수정을 수행 할 가능성도 확인합니다.


0

나도 마우스 방향이 바뀌었고 XP에서 Intellipoint 4와 PS2 마우스를 사용하여 마우스를 사용했습니다.

Win 7 PC를 구입 한 이후 Intellipoint 4는 실행되지 않으므로 Logitech USB 마우스와 함께 Setpoint 4.8을 사용합니다. uberoptions 웹 페이지에서 지원되는 장치 목록을 제공합니다. 2009 년 이래로 새로운 마우스에 대한 개발은 이루어지지 않았으므로 더 오래된 마우스를 찾아야합니다. M500 마우스는 여전히 무료로 제공됩니다.

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