Làm cách nào để bạn bật tiêu điểm theo chuột trong Windows 10


44

Tôi thích chuột nhấp chuột và tập trung theo dõi cẩu thả trên Windows 10 vì đây là thiết lập tôi đã sử dụng trên Windows và Linux trong nhiều năm.

Trong Windows 10, tôi đã thử các thay đổi Xmouse regedit được đề cập trong liên kết này ban đầu được dành cho Windows 8: http://winaero.com/blog/turn-on-xmouse-active-window-tracking-f Focus-follows-mouse- con trỏ-tính năng trong cửa sổ-8-1-windows-8-và-windows-7 /

Tuy nhiên, tôi đã trải qua các vấn đề sau:

  1. Khi bạn mở Menu Bắt đầu bằng cách bấm phím Windows, nó sẽ không nhận được đầu vào bàn phím.

  2. Khi bạn mở Bắt đầu, Tìm kiếm hoặc Thông báo bằng cách nhấp vào chúng, chúng sẽ đóng trước khi bạn có thể tương tác với chúng.

Có cách nào để có được tập trung có thể sử dụng sau chuột?

Có ai sử dụng Win10 thành công như thế này không?


Một cách giải quyết cho vấn đề # 1 là nhấp vào kính lúp (tìm kiếm) thay thế. Phím tắt cho việc này là Window + S.
andz

1
Bạn có thể tránh được Sự cố # 2 bằng cách đặt ActiveWndTrkTimeout thành giá trị cao hơn. WinAero Xmouse Tuner trước đây có tối thiểu 500ms, nhưng hiện tại nó được hạ xuống tối thiểu 100ms trong WinAero Tweaker do yêu cầu quá lớn. Vẫn không thể hạ thấp nó xuống dưới 100ms nhưng có thể có một lý do chính đáng cho điều đó.
andz

Câu trả lời:


33

Sử dụng Điều khiển chuột X , đây là lần gần nhất tôi tìm thấy với Chuột theo dõi tiêu điểm thực sự và nó có một số tùy chọn để điều chỉnh. Đây là một tiện ích nguồn mở nhỏ không yêu cầu cài đặt hoặc khởi động lại và giúp bạn tự thay đổi sổ đăng ký.

Theo như tôi đã thử nghiệm, tôi có thể sử dụng bàn phím để tìm kiếm tệp / chương trình sau khi nhấn phím Win. Ngoài ra, menu Bắt đầu và Thông báo không biến mất trước khi tôi có thể sử dụng chúng, ngay cả với tùy chọn tăng tốc khi bạn có thể đặt một độ trễ nhỏ cho hành vi (một hoặc hai trăm ms sẽ đủ), mang lại cho bạn quá đủ chỗ để di chuyển con trỏ đến cửa sổ mới.

Tôi đã sử dụng nó được một thời gian và tôi khá hài lòng với nó, cộng với trình quản lý cửa sổ bug.n. Thiết lập này gần giống như tôi đã từng sử dụng dwm trên unix.


24

Tập lệnh powershell sau đây sẽ có tác dụng tương tự như chương trình XMouse ... mà không phải thực thi nhị phân của bên thứ 3

Mã số:

$signature = @"
[DllImport("user32.dll")]
public static extern bool SystemParametersInfo(int uAction, int uParam, ref 
int lpvParam, int flags );
"@

$systemParamInfo = Add-Type -memberDefinition  $signature -Name SloppyFocusMouse -passThru

[Int32]$newVal = 1
$systemParamInfo::SystemParametersInfo(0x1001, 0, [REF]$newVal, 2)

Các hằng số được lấy từ đây


Nó hoạt động rất đẹp, tốt hơn bất cứ thứ gì tôi đã thử. Chỉ cần lưu tệp này trong tệp .ps1, nhấp chuột phải vào tệp và chọn Chạy với Powershell. Bạn thậm chí có thể thêm nó trong Trình lập lịch tác vụ để bắt đầu khi khởi động.
Zurd

11

Các sửa đổi sổ đăng ký được đề cập trong liên kết của câu hỏi hoạt động trên Windows 10. Tuy nhiên, có vẻ như chúng phải được thực hiện khi tùy chọn Kích hoạt một cửa sổ bằng cách di chuột qua nó bằng chuột chuột được chọn trong cài đặt trợ năng. Tùy chọn này có thể được tìm thấy trong Bảng điều khiển> Dễ truy cập> Thay đổi cách thức hoạt động của chuột .

Nếu bạn đang gặp vấn đề tương tự và hộp kiểm được chọn, bỏ chọn nó, nhấp vào áp dụng, chọn lại và làm lại các sửa đổi. Chuột sẽ hoạt động đúng vào lần đăng nhập tiếp theo.


3
Tuy nhiên, đó là những gì tên cho thấy - tự động tăng các cửa sổ. OP muốn nó KHÔNG nâng lên, nhưng vẫn cho phép tập trung vào một cửa sổ nền. Làm theo hướng dẫn Winaero của Q (đặt mã hex đầu tiên thành 9F) và đăng nhập và đăng xuất dường như hoạt động tốt. Win key + gõ = hoạt động để tìm kiếm. Nút thắng bằng chuột + gõ = KHÔNG hoạt động để tìm kiếm nếu tiêu điểm không bao giờ rời khỏi nút đã nói, nhưng nếu tôi giữ chuột di chuột qua nút. Giết explorer.exe và chạy userinit.exe không hoạt động để tải cài đặt reg, vì vậy đăng xuất dường như cần thiết.
mpag

Áp dụng các sửa đổi đăng ký dừng tự động tăng.
aleixosk

6

Windows thực sự có một cờ để kích hoạt chuột theo dõi tiêu điểm ("theo dõi cửa sổ hoạt động"), có thể dễ dàng kích hoạt thông qua lệnh gọi API Win32 "SystemParameterInfo" quái dị . Có các chương trình của bên thứ ba để bật cờ, chẳng hạn như Điều khiển chuột X hoặc bạn có thể thực hiện cuộc gọi trực tiếp bằng PowerShell.

Tài liệu này không phải lúc nào cũng rõ ràng về cách pvParamsử dụng đối số và một số đoạn trích quyền hạn không chính xác chuyển một con trỏ đến giá trị, thay vì chính giá trị, khi đặt cờ cụ thể này. Điều này kết thúc luôn luôn được hiểu là true, tức là họ vô tình làm việc để kích hoạt cờ, nhưng không phải để vô hiệu hóa nó một lần nữa.

Dưới đây là đoạn trích quyền hạn thực hiện cuộc gọi chính xác. Nó cũng bao gồm kiểm tra lỗi thích hợp và tôi đã cố gắng làm sạch hơn là ngắn gọn, để giúp dễ dàng thêm trình bao cho các chức năng khác SystemParametersInfo, nếu bạn thấy một số điều mà bạn quan tâm.

Hét lên pinvoke.net vì là một tài nguyên hữu ích cho những thứ như thế này.

Add-Type -TypeDefinition @'
    using System;
    using System.Runtime.InteropServices;
    using System.ComponentModel;

    public static class Spi {
        [System.FlagsAttribute]
        private enum Flags : uint {
            None            = 0x0,
            UpdateIniFile   = 0x1,
            SendChange      = 0x2,
        }

        [DllImport("user32.dll", SetLastError = true)]
        private static extern bool SystemParametersInfo(
            uint uiAction, uint uiParam, UIntPtr pvParam, Flags flags );

        [DllImport("user32.dll", SetLastError = true)]
        private static extern bool SystemParametersInfo(
            uint uiAction, uint uiParam, out bool pvParam, Flags flags );

        private static void check( bool ok ) {
            if( ! ok )
                throw new Win32Exception( Marshal.GetLastWin32Error() );
        }

        private static UIntPtr ToUIntPtr( this bool value ) {
            return new UIntPtr( value ? 1u : 0u );
        }

        public static bool GetActiveWindowTracking() {
            bool enabled;
            check( SystemParametersInfo( 0x1000, 0, out enabled, Flags.None ) );
            return enabled;
        }

        public static void SetActiveWindowTracking( bool enabled ) {
            // note: pvParam contains the boolean (cast to void*), not a pointer to it!
            check( SystemParametersInfo( 0x1001, 0, enabled.ToUIntPtr(), Flags.SendChange ) );
        }
    }
'@

# check if mouse-focus is enabled
[Spi]::GetActiveWindowTracking()

# disable mouse-focus (default)
[Spi]::SetActiveWindowTracking( $false )

# enable mouse-focus
[Spi]::SetActiveWindowTracking( $true )

2
Xin chào, chào mừng đến siêu người dùng. Xin vui lòng, khi bạn đóng góp mới, hãy cố gắng đưa ra một số giải thích kèm theo mã của bạn. Mặc dù câu trả lời của bạn có vẻ đúng, nhưng sẽ tốt hơn nếu bạn giải thích TẠI SAO nó hoạt động, vì vậy nếu ai đó muốn làm cho một cái gì đó hơi khác nhau, họ có thể nhận được điểm bắt đầu cho câu trả lời của bạn. Dù sao, cảm ơn bạn đã chia sẻ kiến ​​thức của bạn với chúng tôi!
DGoiko

Ở đó, tôi đã đưa ra lời giải thích.
Matthijs

1
Tuyệt quá! Tôi rất vui khi trở thành người đầu tiên của bạn, hy vọng sẽ có nhiều hơn nữa sẽ đến: D
DGoiko

1

Đối với những người không thể làm cho nó hoạt động bằng cách chỉ trừ 40 từ byte đầu tiên của UserPreferencesMask, chỉ cần lấy tiện ích WinAero Tweaker tại http://winaero.com/doad.php?view.1796

Lưu ý rằng vấn đề # 1 ở trên vẫn còn, nhưng dễ dàng khắc phục bằng cách chỉ sử dụng biểu tượng kính lúp (tìm kiếm) ở bên phải của menu bắt đầu (phím tắt Window + S). Một cái giá nhỏ phải trả để có được chức năng X-Mouse.

Tôi không gặp vấn đề # 2 khi tôi sử dụng WinAero Tweaker.


1

Sử dụng phương pháp để đạt được hành vi chuột cẩu thả, mà tôi đã quá quen thuộc, từ các phiên bản trước của windows và linux từ bài đăng . Tôi không gặp vấn đề # 2 mà bạn đang gặp phải. Vấn đề # 1 mà bạn và tất cả sẽ có khi sử dụng sửa đổi sổ đăng ký này không phải là vấn đề. Nó thực hiện chính xác như mong đợi vì bạn đã thay đổi cách xử lý tiêu điểm trong các cửa sổ với sửa đổi này. Sử dụng phím windows sẽ đưa chuột vào menu bắt đầu chứ không phải menu tìm kiếm để nó được lấy nét chứ không phải menu tìm kiếm. Vì vậy, nếu bạn muốn sử dụng tìm kiếm, hãy nhấp vào thanh tìm kiếm hoặc biểu tượng phóng đại (tùy thuộc vào cài đặt của bạn để xuất hiện) hoặc sử dụng tổ hợp phím Win+ Svà nó sẽ thực hiện đúng.


0

Tôi chưa thử Winaero vì:

  1. Tôi không thích chạy phần mềm không xác định từ internet.
  2. Vì tôi đã nâng cấp tất cả các PC tôi sử dụng từ Windows 7 lên Windows 10, Windows 7 "Kích hoạt cửa sổ bằng cách di chuột qua cửa sổ chuột" tiếp tục có hiệu lực trong Windows 10, mặc dù dường như không có phương pháp nào thiết lập điều này trong GUI Windows 10.

Tôi chưa tìm thấy các cách giải quyết này ở bất cứ đâu trên internet, vì vậy tôi sẽ ghi lại tài liệu này cho người khác.

Sử dụng các cách giải quyết sau, giúp sử dụng Windows 10 ở chế độ Xmouse thực tế:

  1. Chuyển sang cửa sổ khác khi có nhiều cửa sổ khả dụng thông qua biểu tượng ứng dụng trên thanh tác vụ:

    KHÔNG bấm vào biểu tượng ứng dụng trên thanh tác vụ trước khi thử chọn một cửa sổ. Nếu bạn làm như vậy, ngay khi bạn di chuyển con trỏ chuột lên trên thanh tác vụ, các cửa sổ sẽ biến mất. Chỉ cần di chuột lên trên biểu tượng ứng dụng cho đến khi các cửa sổ xuất hiện, sau đó bạn có thể di chuyển con trỏ vào cái bạn cần.

  2. Chuyển sang một ứng dụng hoặc máy tính để bàn ảo khác bằng nút xem tác vụ:

    • Bấm vào nút xem nhiệm vụ.
    • Nhấn một lần nữa và giữ nút xuống.
    • Di chuyển con trỏ vào nhiệm vụ cần thiết hoặc máy tính để bàn ảo.
    • Nhả nút chuột, sau đó nhấp lại.

Lưu ý: cài đặt Windows 10 "Cuộn các cửa sổ không hoạt động khi tôi di chuột qua chúng" là một bổ sung hữu ích (xem Bắt đầu -> Cài đặt -> Thiết bị -> Chuột & Bàn di chuột ). Điều này dường như độc lập với chức năng Xmouse và ON dường như là mặc định.


0

Đặt Regkey HKCU \ Control Panel \ Desktop \ ActiveWndTrackTimeout thành một cái gì đó cao hơn 0 đến Độ trễ cài đặt trừ khi cửa sổ khác được kích hoạt


1
Sửa khóa của bạn; Đó là Trk không theo dõi; ví dụ: ActiveWndTrkTimeout. Tôi không biết Track one làm gì nhưng thay đổi Trk one là điều phù hợp với tôi.
lumpynose

-2

Để giải quyết vấn đề # 2 trên Windows 10

2) Khi bạn mở Bắt đầu, Tìm kiếm hoặc Thông báo bằng cách nhấp vào chúng, chúng sẽ đóng trước khi bạn có thể tương tác với chúng.

Tất cả bạn cần làm là:

  • Nhấn Windows+X
  • Bảng điều khiển
  • Dễ dàng truy cập
  • Thay đổi cách chuột của bạn hoạt động
  • Bật hộp kiểm: Ngăn chặn các cửa sổ tự động được sắp xếp khi di chuyển đến cạnh của màn hình

Không cần phần mềm của bên thứ ba.

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.