Oyunun oyun kumandasını görmesini sağlama: Giriş API'leri ve çakışmalar
Oyun kumandası Windows'ta ve diğer oyunlarda çalışıyor ama belirli bir oyunda çalışmıyorsa, neredeyse her zaman üç nedenden biri sorumludur: Oyun farklı bir API (XInput/DirectInput) bekliyordur, oyun yanlış giriş cihazını seçiyordur veya çakışmalara ya da "çift girişe" neden olan bir emülasyon/yeniden eşleme katmanı müdahale ediyordur.
İçindekiler
Hızlı kontrol: Bu gerçekten bir oyun sorunu mu?
Win + Rtuşlarına basın →joy.cplyazın- Oyun kumandasını seçin → Özellikler → test sekmesi
- Düğmelerin/sticklerin tepki verdiğinden emin olun
Eğer joy.cpl içinde her şey tepki veriyorsa, donanım ve temel sürücü sorunsuzdur — bundan sonra oyun uyumluluğunu (XInput/DirectInput), cihaz önceliğini ve yazılımsal giriş çakışmalarını çözeceğiz.
Oyunda "Düğme ipuçları türü" seçeneği varsa (örneğin Xbox/PS stili), bu dolaylı olarak oyunun hangi giriş modunu beklediğine işaret eder. Ancak asıl belirleyici olan yine de XInput/DirectInput algılama durumudur.
XInput ve DirectInput: Hangisini seçmeli
- XInput — Windows'taki modern oyunlar için en yaygın moddur. Birçok proje yalnızca XInput'u "görür".
- DirectInput — daha eski ve evrenseldir, ancak bazı oyunlar bunu kısmen veya kararsız şekilde destekler.
Mod uyuşmazlığının belirtileri
- Oyun kumandası sistemde çalışıyor ancak oyunda "yokmuş gibi" davranıyor
- Oyun ayarlarında kontrolcü bölümü bulunmuyor
- Eksenler karışık, tetikler garip çalışıyor, düğmelerin bir kısmı algılanmıyor
Ne yapılmalı
- Oyun kumandanızın program/driver ayarlarında XInput/DirectInput anahtarını bulun (varsa) ve XInput'u deneyin.
- Anahtar yoksa — DirectInput → XInput "dönüşümü" için tam olarak bir yöntem kullanın (tek bir seçili yeniden eşleme/emülasyon katmanı aracılığıyla).
- Modu değiştirdikten sonra oyunu tamamen yeniden başlatın (bazı oyunlar cihazları yalnızca başlangıçta sorgular).
Aynı anda birden fazla XInput "dönüştürücüsü" etkinleştirmeyin. İki emülasyon katmanı genellikle yardımdan çok girişi bozar.
Çakışmalar ve çift giriş: Gereksiz katmanları nasıl kaldırılır
Çakışma şöyle görünür:
- Tek bir basış iki kez tetiklenir, menü "zıplar"
- Oyun bazen bir düğme ipucunu, bazen başka birini gösterir
- Sistemde iki oyun kumandası görünür: fiziksel ve sanal
Uyumluluk kuralı
Oyun için tek bir giriş kaynağı kalmalıdır:
- ya doğrudan fiziksel oyun kumandası,
- ya da tek bir program tarafından oluşturulan sanal XInput oyun kumandası.
Pratik eylem sırası
- Girişi ele geçirebilecek her şeyi kapatın (yeniden eşleyiciler, yönetim içeren overlay'ler, emülatörler).
- Oyunu başlatın ve kontrol edin.
- Çalışmıyorsa — yalnızca bir seçili yeniden eşleme/emülasyon katmanını açın ve tekrar kontrol edin.
- "Çift giriş" ortaya çıkarsa, yardımcı programınızda "hide physical controller" (fiziksel HID'yi oyunlardan gizle) seçeneğini etkinleştirin; böylece yalnızca sanal cihaz görünür kalır.
Oyun yanlış kontrolcüyü görüyor: Cihaz önceliği
Bazı oyunlar "ilk uygun" HID cihazını alır. Bu ikinci bir oyun kumandası, direksiyon, HOTAS, sanal bir cihaz veya hatta HID arayüzlü alışılmadık bir klavye olabilir.
Ne yapılmalı:
- Fazla cihazları (USB/BT) geçici olarak bağlantısını kesin: ikinci kontrolcü, direksiyon, joystick.
- Oyunu yeniden başlatın.
- İşe yaradıysa — çakışan cihazı bulmak için cihazları tek tek geri bağlayın.
Daha kesin bir çözüm gerekirse: Aygıt Yöneticisi'nde fazla oyun/HID cihazlarını geçici olarak devre dışı bırakın (bunu yaparken fare/klavyeyi devre dışı bırakmamaya dikkat edin).
"Belirti → Neden → Eylem" mini tablosu
| Oyundaki belirti | Olası neden | İlk yapılacak eylem |
|---|---|---|
| Sistemde çalışıyor, oyunda algılanmıyor | Oyun XInput bekliyor | Oyun kumandasını/profili XInput'a geçirin veya tek bir XInput emülasyon katmanı açın |
| Düğmeler iki kez basılıyor, menü zıplıyor | Oyun fiziksel + sanal cihazı görüyor | Tek bir katman bırakın, fiziksel kontrolcüyü oyundan gizleyin |
| Düğme ipuçları sürekli değişiyor | Birden fazla giriş katmanı çakışması | Tüm ele geçirme yazılımlarını kapatın, yalnızca birini açın |
| Menüde çalışıyor ama oynanışta çalışmıyor | Oyun giriş önceliğini değiştiriyor | Stick/fare sapmasını giderin, fazla HID'leri kapatın, ölü bölgeyi artırın |
| Eksenler/tetikler karışık | Hatalı DirectInput profili | XInput'a geçin veya eksenleri tek bir yeniden eşleyicide yeniden atayın |
Yaygın hatalar
- Aynı anda iki "uyumluluk iyileştirici" (iki yeniden eşleyici/emülatör) açtınız ve çakışma elde ettiniz.
- "Fiziksel kontrolcüyü gizle"yi açtınız ancak sanal cihaz oluşturulmuyor — sonuçta oyun hiçbir şey görmüyor.
- Ayarları anında değiştiriyorsunuz ancak oyunu yeniden başlatmıyorsunuz (oysa oyun cihazları yalnızca başlangıçta okur).
- İkinci bir kontrolcü/direksiyon bağlı kaldı — oyun onu "ilk" olarak seçti.
SSS
Oyun kumandası diğer oyunlarda çalışıyor da bu oyunda neden çalışmıyor?
Çünkü oyunlar girişi farklı şekilde uygular: Bir kısmı yalnızca XInput bekler, bir kısmı DirectInput'u kendi yöntemleriyle işler ve bazılarında birden fazla cihaz varsa yanlış cihazı seçerler.
Hangisini kullanmak daha iyi: XInput mı yoksa DirectInput mu?
Çoğu modern oyun için — XInput. DirectInput eski oyunlar ve bazı özel amaçlı cihazlar için anlamlıdır, ancak çoğunlukla manuel ayar gerektirir.
Anti-cheat engel olabilir mi?
Evet. Bazı oyunlar sanal kontrolcüler veya standart olmayan sürücüleri engeller. Emülasyondan sonra oyun girişi görmeyi bırakırsa, "sanallaştırmasız" varyantı deneyin: Cihazda mevcutsa doğrudan bağlantı ve XInput modu.