Windows 10'da odağı nasıl izlerim?


44

Windows 10'da tıklatarak yükseltip özensiz odak-takip-faresini istiyorum çünkü bu, yıllardır Windows ve Linux'ta kullandığım kurulum.

Windows 10 altında, bu bağlantıda belirtilen ve orijinal olarak Windows 8 için yapılmış olan regedit Xmouse değişikliklerini denedim: http://winaero.com/blog/turn-on-xmouse-active-window-tracking-focus-follows-mouse- işaretçi özellik-içinde-pencere-8-1-pencereler-8-ve-pencere-7 /

Ancak, aşağıdaki sorunları yaşadım:

  1. Windows tuşuna basarak Başlat Menüsünü açtığınızda, klavye girişi alınmaz.

  2. Başlat, Arama veya Bildirimler'i tıklatarak açtığınızda, onlarla etkileşime geçmeden önce kapanırlar.

Kullanılabilir netlemenin fareyi izlemesini sağlamak için yine de var mı?

Win10'u başarıyla bu şekilde kullanan biri var mı?


Sayı 1 için bir geçici çözüm, bunun yerine büyüteçle (ara) tıklamaktır. Bunun için kısayol tuşu Window + S
andz

1
ActiveWndTrkTimeout öğesini daha yüksek bir değere ayarlayarak Sayı # 2'yi önleyebilirsiniz. WinAero Xmouse Tuner en az 500 msn kullanıyordu, ancak şimdi ezici taleplerden dolayı WinAero Tweaker'da en az 100 msn'ye düşürüldü. 100ms altına düşürmek hala mümkün değildir, ancak bunun için iyi bir neden olabilir.
andz

Yanıtlar:


33

X-Mouse Control'leri kullanın , gerçek Focus Follows Mouse'u bulduğum en yakın şey ve ince ayar yapmak için bazı seçeneklere sahip. Kurulumu veya yeniden başlatılmasını gerektirmeyen küçük bir açık kaynak kodlu yardımcı programdır ve kayıt defterini kendiniz değiştirmekten kurtarır.

Deney yaptığım sürece, Win tuşuna bastıktan sonra dosyaları / programları aramak için klavyeyi kullanabilirim. Ayrıca, Başlat ve Bildirimler menüsü, kullanmaya devam et seçeneği ile bile kullanabilmemden önce kaybolmuyor, çünkü davranış için küçük bir gecikme ayarlayabilirsiniz (bir veya iki yüz ms yeterli olacaktır). işaretçiyi yeni pencereye taşımak için yeterli alandan fazla.

Bir süredir kullandım ve bundan çok mutluyum, ayrıca bug.n döşeme penceresi yöneticisi. Bu kurulum, unix üzerinde dwm kullandığım kadar yakın.


24

Aşağıdaki powershell betiği, 3. parti bir ikili dosya yürütmek zorunda kalmadan ... XMouse programıyla aynı etkiye sahip olmalı.

Kod:

$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)

Sabitler alınan burada


Güzel çalışıyor, denediğim her şeyden daha iyi. Sadece bunu bir .ps1 dosyasına kaydedin, sağ tıklayın ve Powershell ile Çalıştır'ı seçin. Hatta açılışta başlatmak için Görev Zamanlayıcı'ya bile ekleyebilirsiniz.
Zurd

11

Sorunun bağlantısında belirtilen kayıt defteri değişiklikleri Windows 10'da çalışıyor. Ancak erişilebilirlik ayarlarında “Pencereyi fareyle gezdirerek etkinleştir” seçeneği seçildiğinde yapılması gerekiyor gibi görünüyor. Bu seçenek Denetim Masası> Erişim Kolaylığı> Farenizin Çalışma Şeklini Değiştirme'nin altında bulunabilir .

Aynı sorunlarla karşılaşıyorsanız ve onay kutusu ise edilir bunun seçimini kaldırın, seçilmiş, uygulamak tıklayın tekrar seçin ve değişiklikler yinelemek. Bir sonraki oturum açışınızda fare uygun şekilde davranmalıdır.


3
Ancak, adından da anlaşılacağı gibi - pencereleri otomatik olarak yükseltir. OP, yükseltmemek, ancak yine de bir arka plan penceresine odaklanmasına izin vermek istiyor. Q'nun Winaero talimatlarını izleyerek (ilk hex kodunu 9F'ye ayarlayarak) ve giriş ve çıkış işlemlerini tamamlamış gibi görünüyor. Win tuşu + yazarak = arama için çalışır. Fare + yazarak = Win düğmesiyle, odaklama söz konusu düğmeden uzaktaysa arama için çalışmaz, ancak fareyi düğmenin üzerine getirdiğimde yapar. Explorer.exe öldürmek ve userinit.exe çalışan reg ayarları yüklemek için çalışmadı, bu yüzden oturum kapatma gerekli görünüyor.
mpag

Kayıt defteri değişikliklerini uygulamak, otomatik yükseltme işlemini durdurur.
aleixosk

6

Windows, felaket "SystemParametersInfo" Win32 API çağrısı yoluyla kolayca etkinleştirilebilen fokus-takip eden fareyi ("aktif pencere izleme") etkinleştirmek için bir bayrağa sahiptir . X-Mouse Controls gibi bayrağın etkinleştirilmesini sağlayan üçüncü taraf programları var veya aramayı doğrudan PowerShell kullanarak yapabilirsiniz.

Belgeler, pvParambağımsız değişkenin nasıl kullanıldığı konusunda her zaman çok net değildir ve bazı powershell snippet'leri , bu belirli bayrağı ayarlarken değerin kendisine değil de değere yanlış bir işaretçi iletir . Bu, her zaman true, örneğin bayrağa izin vermek için kazayla çalıştıkları, ancak tekrar devre dışı bırakmak için çalıştıkları şeklinde yorumlanıyor .

Aşağıda çağrıyı doğru şekilde yapan bir powershell pasajı gösterilmektedir. Ayrıca, uygun hata kontrolü de içerir ve kısalıklardan ziyade temizlik işine gitmeye çalıştım, ayrıca SystemParametersInfosizi ilgilendiren bazı işlevler için sarmalayıcılar eklemeyi kolaylaştırdı .

Böyle şeyler için yararlı bir kaynak olduğu için pinvoke.net'e not verin .

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
Merhaba, süper kullanıcıya hoş geldiniz. Lütfen yeni katkılarda bulunduğunuzda, kodunuza ekli bazı açıklamalar vermeye çalışın. Cevabınız doğru gibi görünse de, NEDEN işe yarayıp yaramadığını açıklarsanız daha iyi olurdu, bu nedenle eğer biri biraz farklı bir şey yapmak isterse, cevabınıza bir başlangıç ​​noktası alabilir. Her neyse, bilginizi bizimle paylaştığınız için teşekkür ederiz!
DGoiko,

Orada, açıklamayı bitirdim.
Matthijs

1
Harika! İlk olumlu oyuna sevindim, umarım çok daha fazlası gelecek: D
DGoiko

1

Yalnızca 40 kullanıp UserPreferencesMask baytından çıkartarak çalışamayanlar için, http://winaero.com/download.php?view.1796 adresindeki WinAero Tweaker hizmetinin kendisini edinmeniz yeterlidir.

Yukarıdaki 1 numaralı sorunun hala mevcut olduğunu, ancak sadece başlangıç ​​menüsünün sağındaki (Windows + S kısayol tuşu) büyüteç (arama) simgesini kullanarak kolayca çalışılabileceğini unutmayın. X-Mouse işlevselliği için küçük bir bedel.

WinAero Tweaker kullanırken # 2 sorunuyla karşılaşmıyorum.


1

Yöntemi kullanarak Öyle den windows ve linux önceki sürümlerinde, alışık ediyorum, özensiz fare davranışı elde etmek mesaja . Sahip olduğun 2 numaralı sorunu yaşamıyorum. Bu kayıt defteri değişikliğini kullanırken sizin ve hepinizin sahip olacağı 1 numaralı sorun değildir. Bu tam olarak beklendiği gibi, çünkü bu değişiklikle odağın odaklanma şeklini değiştirdiniz. Windows tuşunu kullanmak, fareyi arama menüsüne değil, arama menüsüne değil odaklanana kadar başlat menüsüne getirir. Bu nedenle, arama kullanmak istiyorsanız, arama çubuğundaki veya büyütme simgesine tıklayın (görünüm ayarlarına bağlı olarak) veya Win+ Stuş kombinasyonunu kullanın , doğru olanı yapacaktır.


0

Winaero'yu henüz test etmedim çünkü:

  1. İnternetten bilinmeyen bir yazılım çalıştırmak istemiyorum.
  2. Kullandığım tüm bilgisayarları Windows 7'den Windows 10'a yükselttiğim için, Windows 7'de, herhangi bir yöntem olmasa da, Windows 10'da "Fareyle gezdirerek bir pencereyi etkinleştir" ayarı etkin olmaya devam etti. Windows 10 GUI'de bu ayarı.

Bu geçici çözümleri henüz internette herhangi bir yerde bulamadım, bu yüzden burada başkaları için belgeleyeceğim.

Aşağıdaki geçici çözümleri kullanarak, Windows 10'u Xmouse modunda kullanmayı pratik yapar:

  1. Görev çubuğundaki uygulama simgesiyle birden fazla pencere olduğunda, başka bir pencereye geçme:

    Bir pencere seçmeye çalışmadan önce görev çubuğundaki uygulama simgesini tıklamayın. Bunu yaparsanız, fare imlecini görev çubuğunun üstüne getirdiğinizde pencereler kaybolur. Sadece pencereler görünene kadar uygulama simgesinin üzerine gelin, ardından işaretçiyi ihtiyacınız olanın içine getirebilirsiniz.

  2. Görev görünümü düğmesini kullanarak başka bir sanal masaüstüne veya uygulamaya geçme:

    • Görev görünümü düğmesine tıklayın.
    • Tekrar tıklayın ve düğmeyi basılı tutun.
    • İşaretçiyi istenen göreve veya sanal masaüstüne taşıyın.
    • Fare düğmesini bırakın, ardından tekrar tıklayın.

Not: Windows 10 "Üzerine getirdiğimde etkin olmayan pencereleri kaydır" ayarı yararlı bir ektir (bkz. Başlat -> Ayarlar -> Aygıtlar -> Fare ve Dokunmatik Yüzey ). Bu, Xmouse işlevselliğinden bağımsız görünüyor ve ON, varsayılan gibi görünüyor.


0

Diğer pencere etkin olmadıkça Regkey HKCU \ Denetim Masası \ Masaüstü \ ActiveWndTrackTimeout değerini 0'dan daha yükseğe ayarlayınız.


1
Anahtarınızı düzeltin; Trk Track değil; örneğin, ActiveWndTrkTimeout. Track'in ne yaptığını bilmiyorum ama Trk olanını değiştirmek benim için işe yarıyor.
lumpynose

-2

Windows 10'da # 2 numaralı sorunu çözmek için

2) Başlat, Arama veya Bildirimler'i tıklatarak açtığınızda, onlarla etkileşime geçmeden önce kapanırlar.

Yapmanız gereken tek şey:

  • Windows+ Tuşlarına basınX
  • Kontrol Paneli
  • Erişim kolaylığı
  • Farenizin çalışma şeklini değiştirin
  • Onay kutusunu etkinleştirin: Ekranın kenarına taşındığında pencerelerin otomatik olarak düzenlenmesini önleyin

Üçüncü taraf yazılımlara gerek yok.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.