システム全体でマウスの動き(XおよびY軸)を逆にするにはどうすればよいですか?(Win 7 x64)


26

短縮版

XとYのマウス軸の動きを逆にする方法を探しています。コンピューターはWindows 7、x64およびLogitech SetPoint 6.32を実行しています。システムレベルの永続的な修正が必要です。マウスドライバーの変更やレジストリの調整など。これを実装する確実な方法、またはこれを変更するレジストリ値を見つける方法を知っていますか?SetPoint 6.32でマウスとトラックボールの向き機能を有効にする方法については、非常に喜んで解決します。

長いバージョン 人々はなぜ私がこれを望んでいるのか理解していないようで、私はよく「マウスを正しい向きで使用してください」と聞きます。助言。ディスレクシアは、「正しいことを読むだけ」で治せるものではありません。私は助けようとする試みに感謝しますが、背景が人々の理解に役立つことを願っています。

私は、異常な形のディスレクシアのユーザーがいて、そのユーザーのマウスの動きは後方にあります。カーソルを左に移動したい場合、マウスを右に移動します。彼女がカーソルを上に移動させたい場合は、マウスを下に移動します。彼女はマウスを上下逆さまに保持していたため、洗練されたクリックが難しく、人間工学的にはひどく、マルチボタンマウスはまったく使い物になりませんでした。

昔、マウスドライバーには、マウスの動きとカーソルの動きの関係を設定するために使用できる方向付け機能(通常、マウスムーブメントの方向を設定するために上にドラッグした熱気球)が含まれていました。数年前、マウスドライバーは「改善された」ため、この機能はトラックボールに限定されていました。

オリエンテーション機能を失った後、彼女は少し逆さまのマウス操作に戻り、すべてのポインティングデバイスのすべての機能を有効にするLogitech SetPointの調整であるUberOptionsを見つけました。これには方向付け機能が含まれていました。そして、多くの喜びがありました。

現在、彼女のマウスは死亡しており、現在のLogitechマウスにはUberOptionsが更新されていない新しいバージョンのSetPointが必要です。また、MAF-Mouse(開発者は64ビットWindowsのバージョンはまだUSBマウスをサポートしていないことを示しました)およびSakasa(動作中、Web上のコメントは、ランダムに頻繁に壊れる傾向があることを示しています。実行中のプログラムなので、システム全体ではありません。)

いくつかの非常に洗練されたレジストリハッキングを見てきました。たとえば、F-Lockキーが発明され、デフォルトでキーボードをねじ込むときにF1-F12キーによって作成されたコードを変更するハックを使用していました。レジストリでXとYを反転させる方法があることを望んでいます。または、他の同様のシステムレベルの調整があります。

別の解決策は、トラックボールだけでなく、マウスの方向機能を再度有効にすることです。入力デバイスドライバーにアクセシビリティの問題のために必死に必要な機能が含まれていることは非常にイライラしますが、ドライバーをより馬鹿にしないようにするために無効にされています。


ハードウェア志向のソリューションのためのエレクトロニクスに関する私の抱き合わせの質問:electronics.stackexchange.com/questions/29014/…–
JYelton

1
参考までに、私はSetPointの最新バージョンを実行しています(ただし、UberOptionsがデフォルトでサポートするSetPointのバージョンに最初から付属していた非常に古いマウスを使用しています)。SetPointフォルダーをSetPoint 6(setpointP)で使用されているフォルダーに手動で変更する必要があります。こちらをご覧ください。個人的には、LogitechがすでにUberOptions開発者を雇うことを望んでいます。SetPointは極悪で、uberOptionsなしではキーボード/マウスをほとんど使用できません。
Lèsemajesté

1
@LèsemajestéLogitechがUberOptions開発者を雇うことを希望することに完全に同意します。あなたが説明したように彼女は古いマウスを動作させましたが、交換用のマウスはUberOptionsではサポートされていません。どうやらゲーミングマウスにはまったく異なるSetPointがあり、マウスを裏返してそれらに到達できるようになったため、彼女はすべての余分なボタンに非常に執着しています。
シビトリ

回答:


18

オンラインで何かを見つけることができなかったので、これを作るのはそれほど難しくないはずだと思ったので、私は先に進んで自分で作りました。実行するにはMicrosoft .NET Framework 4.0が必要です。

Polynomialのマウスインバーター(フリーウェア、CC-BY-NC-SAライセンス下)-(Alt Link

それがあなたのためにどのように機能するか教えてください:)


申し訳ありませんが、これには非常に時間がかかりましたが、実際に反転を行うコードは次のとおりです。

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を使用して実行可能ファイルからこれを取り出しました。完全なアプリケーションコードが必要な場合は、VSプロジェクト全体をJDで抽出できます。


1
ありがとうございました!それは私が予想したよりもはるかに多くの努力でした!私たちはそれをテストし、彼女にとってどのように機能するかを見ていきます。
シビトリ

問題ない。作成するのはそれほど難しくありませんでした。少し整理していくつかの追加機能を追加したら、オープンソースとしてリリースします。
多項式

すぐにコードをリリースする可能性はありますか?または、それを私に郵送してもらえますか?:)
ダーク

ただ、私の古いハードディスクによって掘られたが、このコードが失われたようだ:(私は時間を取得する場合、私は戻って実行可能ファイルから、それをリバースエンジニアリングします。
多項式

1
@remyabelコアコードが追加されました。必要に応じて、JustDecompileを使用して休憩を引き出すことができます。
多項式

10

マウスの動きを逆にするSakasaMouseというプログラムがあります。

SakasaMouseは、x軸やy軸でのマウスカーソルの動きの方向を逆にするフリーウェアです。

マウスを右に移動すると、マウスポインターが左に移動します。

購入したばかりの新しいワイヤレスマウスを含むすべてのマウスで機能します。それに関する唯一の問題は、警告なしに切り替わる傾向があることです。これは少し混乱する可能性があります。


ロックされたコンピューターに再度ログインした後、マウスカーソルは表示されませんでした。アプリを閉じるためにタスクトレイに移動するのは少し面倒でした。Windows 8.1
user3071284

5

私はMAFMouseの著者であり、x64バージョンがUSBマウスでまだ動作しないことは事実です(32ビットバージョンは動作します!)。私は現在、これに取り組むには忙しすぎています。

したがって、私の提案はPS2マウスを使用することです。これは、ゲームでもシステム全体で非常に良好に機能します。

私は、以前に180度回転したマウスを使用しなければならなかった(ケーブルをユーザーに向けて)多くのユーザーがいて、このドライバーに非常に満足しています。興味深いことに、1つを除くすべてが女性です:)

Windows 7でのインストールは少し複雑です。詳細についてはお問い合わせください...


それほど面倒ではない場合、Windows 7にインストールするための指示やリンクを投稿できれば、この回答が他のユーザーにとってより便利になります。
Lèsemajesté12年

1
私はこのベータ版を公開ダウンロード用に提供していないので、インストール手順だけでは役に立ちません:)それは複雑であるため、それらの手順を作成するのは多少手間がかかり、最初にドライバーを完成させたいと思います。指示を助けたい場合は、大歓迎です!
モリッツ

1
@Moritz SEに来て、ディスカッションに参加してくれてありがとう!残念ながら、彼女のマザーボードにはPS2ポートが搭載されていないと思います。彼らはちょっと時代遅れです。彼女はまた、USBのみであることが多い、よりボタンの多いマウスにもやや愛着を感じています。
シビトリ

どうやってその位置のボタンをクリックできますか?
phuclv 14年

重要な更新:私はMAFMouseの著者であり、32ビットへの制限はなくなりました。x64がサポートされ、ドライバーが署名されるようになったため、インストールがずっと簡単になりました。リクエストに応じて利用でき(現在はダウンロードなし)、ゲーム(つまり、一般的なY軸反転)でもシステム全体で非常に良好に機能します。
-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 Webページでは、サポートされているデバイスのリストが表示されます。2009年頃から新しいマウスの開発は行われていないようで、古いマウスを見つける必要があります。M500マウスはまだ自由に利用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.