Làm cách nào tôi có thể đảo ngược chuyển động chuột (trục X & Y) trên toàn hệ thống? (Thắng 7 x64)


27

Phiên bản ngắn

Tôi đang tìm cách đảo ngược chuyển động trục chuột X và Y. Máy tính đang chạy Windows 7, x64 và Logitech SetPoint 6.32. Tôi muốn một bản sửa lỗi vĩnh viễn ở cấp hệ thống; chẳng hạn như sửa đổi trình điều khiển chuột hoặc chỉnh sửa sổ đăng ký. Có ai biết một cách vững chắc để thực hiện điều này, hoặc làm thế nào để tìm các giá trị đăng ký để thay đổi điều này? Tôi sẽ giải quyết khá vui vẻ về cách bật tính năng định hướng trong SetPoint 6.32 cho chuột cũng như bi xoay.

Phiên bản dài Mọi người dường như không bao giờ hiểu lý do tại sao tôi muốn điều này và tôi thường nghe thấy "chỉ cần sử dụng chuột ở bên phải!" lời khuyên. Chứng khó đọc không phải là thứ có thể được chữa khỏi bằng cách "chỉ cần đọc đúng thứ." Mặc dù tôi đánh giá cao những nỗ lực giúp đỡ, tôi hy vọng một số nền tảng có thể giúp mọi người hiểu.

Tôi có một người dùng mắc chứng khó đọc khác thường, những người di chuyển chuột bị lạc hậu. Nếu cô ấy muốn di chuyển con trỏ sang trái, cô ấy sẽ di chuyển chuột phải. Nếu cô ấy muốn con trỏ di chuyển lên, cô ấy sẽ di chuyển con chuột xuống. Cô thường giữ chuột lộn ngược, điều này khiến việc bấm tinh vi trở nên khó khăn, rất tệ cho công thái học và khiến chuột đa nút hoàn toàn vô dụng.

Vào thời xa xưa, trình điều khiển chuột bao gồm một tính năng định hướng (thường là khinh khí cầu bạn kéo lên để đặt hướng di chuyển của chuột) có thể được sử dụng để đặt mối quan hệ giữa di chuyển chuột và di chuyển con trỏ. Vài năm trước, trình điều khiển chuột đã được "cải thiện" và tính năng này đã bị giới hạn trong trò chơi bi xoay.

Sau khi mất tính năng định hướng, cô quay lại chế độ lộn ngược một chút, cho đến khi tìm thấy UberOptions , một tinh chỉnh cho Logitech SetPoint , sẽ kích hoạt tất cả các tính năng cho tất cả các thiết bị trỏ. Điều này bao gồm các tính năng định hướng. Và đã có nhiều niềm vui.

Bây giờ chuột của cô đã chết và chuột Logitech hiện tại yêu cầu phiên bản SetPoint mới hơn mà UberOptions chưa được cập nhật. Chúng tôi cũng đã thấy MAF-Mouse (nhà phát triển chỉ ra phiên bản Windows 64 bit không hỗ trợ chuột USB) và Sakasa (trong khi nó hoạt động, bình luận trên web cho thấy nó có xu hướng bị hỏng ngẫu nhiên và thường xuyên. một chương trình đang chạy, vì vậy không phải toàn hệ thống.).

Tôi đã thấy một số hack rất tinh vi. Ví dụ: tôi đã từng sử dụng một bản hack sẽ thay đổi mã được tạo bởi các phím F1-F12 khi phím F-Lock được phát minh và mặc định để vặn bàn phím của tôi. Tôi hy vọng có một cách để lật X và Y trong sổ đăng ký; hoặc một số khác, tương tự, tinh chỉnh cấp hệ thống ngoài kia.

Một giải pháp khác có thể là kích hoạt lại tính năng định hướng cho chuột, cũng như bi xoay. Thật là bực bội khi các trình điều khiển thiết bị đầu vào bao gồm các chức năng mà chúng tôi rất cần cho một mối quan tâm có thể truy cập được, nhưng nó đã bị vô hiệu hóa dưới danh nghĩa làm cho các trình điều khiển trở nên ngớ ngẩn hơn.


Câu hỏi ràng buộc của tôi về Điện tử cho một giải pháp có đầu óc phần cứng: Electronics.stackexchange.com/questions/29014/
mẹo

1
FYI, tôi đang chạy phiên bản SetPoint mới nhất (mặc dù sử dụng chuột rất cũ ban đầu được bán cùng với phiên bản SetPoint mà UberOptions được hỗ trợ theo mặc định) và UberOptions vẫn hoạt động. Bạn chỉ cần thay đổi thủ công thư mục SetPoint thành thư mục được sử dụng trong SetPoint 6 ( setpointP). Xem tại đây . Cá nhân, tôi ước Logitech sẽ chỉ thuê (các) nhà phát triển UberOptions. SetPoint rất tàn bạo và làm cho bàn phím / chuột của họ gần như không thể sử dụng được mà không có uberOptions.
Lèse majesté

1
@ Lèsemajesté Tôi hoàn toàn đồng ý với mong muốn Logitech sẽ thuê nhà phát triển UberOptions. Mặc dù cô ấy đã có con chuột cũ của mình hoạt động như bạn mô tả, nhưng con chuột thay thế không được UberOptions hỗ trợ. Rõ ràng có một Setpoint hoàn toàn khác dành cho chuột chơi game và cô ấy trở nên khá gắn bó với tất cả các nút phụ kể từ khi có thể lật chuột và tiếp cận chúng.
Scivitri

Câu trả lời:


18

Không thể tìm thấy bất cứ điều gì trực tuyến và tôi nghĩ rằng điều này không quá khó để thực hiện, vì vậy tôi đã đi trước và tự mình xây dựng một cái. Yêu cầu Microsoft .NET Framework 4.0 để chạy.

Biến tần chuột của Polynomial (phần mềm miễn phí, theo giấy phép CC-BY-NC-SA) - ( Alt Link )

Hãy cho tôi biết làm thế nào nó hoạt động ra cho bạn :)


Xin lỗi điều này mất quá nhiều thời gian, nhưng đây là đoạn mã thực sự đảo ngược:

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;
}

Tôi vừa rút cái này ra khỏi tệp thực thi với Telerik JustDecompile, vì tôi không có mã gốc. Bạn có thể trích xuất toàn bộ dự án VS bằng JD nếu bạn cần mã ứng dụng đầy đủ.


1
Cảm ơn bạn! Đó là nỗ lực hơn nhiều so với tôi mong đợi! Chúng tôi sẽ kiểm tra nó và xem nó hoạt động như thế nào với cô ấy.
Scivitri

Không vấn đề gì. Nó thực sự không khó để tạo ra. Sau khi tôi dọn dẹp nó một chút và thêm một vài tính năng bổ sung, tôi sẽ phát hành nó dưới dạng nguồn mở.
Đa thức

Có bất kỳ cơ hội mà bạn phát hành mã bất cứ lúc nào sớm? Hoặc, bạn có thể gửi nó cho tôi? :)
Dirk

Chỉ cần đào qua đĩa cứng cũ của tôi, nhưng có vẻ như mã này đã bị mất :( Nếu tôi có thời gian, tôi sẽ thiết kế lại nó từ tệp thực thi.
Polynomial

1
@remyabel Mã lõi được thêm vào. Phần còn lại có thể được rút ra với JustDecompile nếu bạn cần.
Đa thức

10

Có một chương trình tên là SakasaMouse giúp đảo ngược chuyển động của chuột:

SakasaMouse là một phần mềm miễn phí để đảo ngược hướng di chuyển của con trỏ chuột theo trục x và / hoặc trục y.

Nếu bạn di chuyển chuột sang phải, con trỏ chuột sẽ di chuyển sang trái.

Nó hoạt động cho mọi con chuột bao gồm một con không dây mới vừa mua. Vấn đề duy nhất với nó là nó có thể chuyển trở lại mà không có cảnh báo, điều này có thể gây ra một chút bối rối.


Sau khi đăng nhập lại vào một máy tính bị khóa, con trỏ chuột là vô hình. Đó là một chút khó khăn khi điều hướng đến khay tác vụ để đóng ứng dụng. Windows 8.1
dùng3071284

5

Tôi là tác giả của MAFMouse và sự thật là phiên bản x64 chưa hoạt động với chuột USB (phiên bản 32 bit thì có!). Tôi hiện đang quá bận rộn để làm việc này.

Vì vậy, đề nghị của tôi là sử dụng chuột PS2 - điều này hoạt động rất tốt và toàn hệ thống, ngay cả đối với các trò chơi.

Tôi có nhiều người dùng đã phải sử dụng chuột xoay 180 độ trước đó (với cáp chỉ vào người dùng) và họ rất hài lòng với trình điều khiển này. Thật thú vị, nhưng một người là phụ nữ :)

Cài đặt trong Windows 7 hơi phức tạp, vui lòng liên hệ với tôi để biết chi tiết ...


Nếu nó không quá rắc rối, nó sẽ làm cho câu trả lời này hữu ích hơn cho những người dùng khác nếu bạn có thể đăng hướng dẫn hoặc liên kết tới họ để cài đặt nó trên Windows 7.
Lèse majesté

1
Vì tôi không cung cấp phiên bản beta này để tải xuống công khai, chỉ riêng hướng dẫn cài đặt sẽ không giúp ích :) Nó phức tạp, vì vậy việc tạo các hướng dẫn đó sẽ là một số công việc và trước tiên tôi muốn hoàn thành trình điều khiển. Nếu bạn muốn giúp đỡ với các hướng dẫn, xin chào mừng bạn!
Moritz

1
@Moritz Cảm ơn bạn đã đến SE và tham gia thảo luận! Thật không may, tôi không nghĩ bo mạch chủ của cô ấy thậm chí còn có cổng PS2 nữa. Họ đã lỗi thời. Cô cũng có phần gắn bó với những con chuột có nhiều nút hơn, có xu hướng chỉ là USB.
Scivitri

Làm thế nào họ có thể nhấp vào các nút với vị trí đó?
phuclv

Cập nhật quan trọng: Tôi là tác giả của MAFMouse và việc giới hạn 32 bit hiện không còn nữa. x64 được hỗ trợ và trình điều khiển được ký ngay bây giờ, vì vậy việc cài đặt dễ dàng hơn nhiều. Nó có sẵn theo yêu cầu (hiện không có tải xuống) và hoạt động rất tốt và toàn hệ thống, ngay cả đối với các trò chơi (tức là đảo ngược trục Y phổ biến). -Moritz
maf-soft

3

Có một kịch bản AHK chuột đảo thú vị:

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

Tôi đã nhận nó từ đây: https://autohotkey.com/board/topic/17828-invert-mouse-axis/

Trong trường hợp của bạn, tôi thậm chí sẽ kiểm tra khả năng thực hiện một số sửa đổi CTNH nhanh để đảo ngược trục bên trong chuột ..


0

Tôi cũng vậy, định hướng chuột của tôi bị đảo ngược và tôi đã từng làm điều đó trên XP với Intellipoint 4 và một con chuột PS2.

Kể từ khi mua PC Win 7, Intellipoint 4 sẽ không chạy trên nó và vì vậy bây giờ tôi sử dụng Setpoint 4.8 với chuột USB Logitech. Trên trang web uberoptions, nó cung cấp cho bạn một danh sách các thiết bị được hỗ trợ. Dường như không có sự phát triển nào được thực hiện kể từ khoảng năm 2009 đối với những con chuột mới, vì vậy bạn phải tìm một con chuột cũ hơn. Chuột M500 vẫn có sẵn miễn phí.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.