Oyun Kolu Takılıyken Uyku Moduna Girmeme Hatası Çözüldü

Bir Windows kullanıcısıysanız ve bilgisayarınıza rastgele bir denetimci bağladığınızda bilgisayarınızı uyku moduna alamıyorsanız meraklanmayın; bu sorun aslında 3 yıldan beri kullanıcılar tarafından aktarılıyor. Lakin bugüne kadar sorunun kaynağı tam olarak bilinmediğinden çözülebilmiş de değildi.

Kanada’da yaşayan Dimitry Safonov isimli bir yazılım geliştiricisiyse bu sorunun üstesinden gelmeyi başardı. Dimitry, bu problemle Microsoft Flight Simulator oynadığı gün karşılaştı. Logitech uçuş kontrolcüsünü bilgisayara bağlayan Dmitry, oyundan çıktıktan sonra bilgisayarının uyku moduna geçmediğini fark etti.

Yanılgıyı çözmesi 2 gün sürdü:

Dmitry’nin bilgisayarıysa birkaç dakikanın akabinde otomatik olarak uyku moduna geçmek üzere programlanmıştı. Bu değişik meseleyle karşılaşan Dmitry, sorunu çözmek için çalışmalarına başladı. Sorunun daha evvel pek çok kullanıcı tarafından da paylaşıldığını gören Dmitry, iki gün süren test ve yanılma süreçleri en sonunda üç yıldır çözülmeyen sorunu çözmeyi başardı.

İnternette pek çok kullanıcı sorunun bir formda NVIDIA’nın ShadowPlay’ine bağlıyordu. Bilgisayara şayet bir denetimci bağlıysa ve ShadowPlay etkinse bilgisayar uyku moduna geçmiyordu. ShadowPlay devre dışı bırakıldığında sorun ortadan kalkıyordu. Dmitry, bu sorunu NVIDIA’ya bildirse de kendisi de sıkıntıyla uğraşmak istedi.

En sonunda Dmitry, sorunun RAW Input tarafından kaynaklandığını keşfetti. NVIDIA’nın uygulaması, RegisterRawInputDevices işleviyle hangi uygulamanın ön planda olduğu fark etmeksizin klavyeden gelen RAW olayları alıyordu. Dmitry, sorunun kaynağını bulmuştu lakin doğrulamak için tıpkı sorunu DirectInput’ta da yaratmıştı. DirectInput’ta yaratılan sorun da bilgisayarın uyku moduna girmesini engelliyordu.

1 byte’lık evrakla yanılgı çözüldü:

Fakat bahsettiğimiz üzere NVIDIA, sadece klavyeden RAW Input alıyordu. Lakin uygulama, dolaylı olarak Chromium’dan RAW oyun kolu Input’u istiyordu. İşte bunu keşfeden Dmitry, GeForce Experience’ın ‘libcef.dll’ belgesinde tek bir ifadeyi değiştirerek sorunu ortadan kaldırmayı başardı. 3 yıllık sorun, aşağıdan ulaşabileceğiniz sadece 1 byte’lık belgeyle çözülebilir oldu.

  • Dmitry’nin paylaştığı tahlil belgesi için tıklayınız.

Dmitry ile birebir sorunu yaşayan biriyseniz ve üstteki tahlile başvuruyorsanız öncesinde bir şeyden emin olmanız gerekiyor. Üstteki PowerShell belgesini açmadan evvel ShadowPlay’in kapalı olduğundan emin olun. Daha sonra belgeyi yönetici olarak çalıştırın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir