Flutter ile bir uygulama geliştiriyorum, yeniyim. Mobilde ses açma/kapama tuşunu override etmek için dinlemeye çalışıyorum.

Paketlerin hepsinde destek kesilmiş ve eskiler ondan kullanmadım. Zaten çoğu butonu değil ses seviyesini dinliyor. Ses seviyesi değil direkt buton tıklamalari dinlemek istiyorum.

USB ile fiziksel cihazda çalışıyorum. Simülatör değil, kaldırmıyor bilgisayar.

Aşağıda açıkladığım yöntemleri denedim. şöyle bir sorun var, eğer bilgisayardan bir tuşa basılmazsa veya telefonda sanal klavye açılmazsa asla dinleme çalışmıyor. Bunları yapınca çalışmaya başlıyor. Ama uygulamayı arkaplana atıp geri getirince de artık çalışmıyor. Bunun odak ile ilgili olduğunu zannediyorum. Ama focus, focusscope widgetleri, focusnode, focusspocenode değişkenlerini her şekilde kullandım yok olmuyor. İlla klavye aktif edilmeden çalışmıyor.

Klavyeyi açmadan aktif etmeyi de beceremedim. En azından böyle bir hile deneyim demiştim.

Fiziksel cihaz tuşunu klavye olmadan dinleyemiyor muyuz?

Cihazım Xiaomi ve aslında vscode debug konsolunda (hiç bir şey yapmaya gerek kalmadan) keyeventlerin log'u (miuiinput ismiyle) görünüyor. Bu kodları yazmasam da telefondan ses tuşlarına basınca log geliyor. Yani bunları yakalayıp dinleyebilmem gerekmez mi?

Yerel kod için Java,kotlin, swift bilmiyorum. Kopyala yapıştır yapsam bile ileride bakımını ve değişiklikleri takip etme zorluğu çıkacak.

Flutter service kütüphanesinde yani çekirdekte bunu dinleme imkanı vermiş ama sorun yaşıyorum. Hatta bu sorun githubda 3 yıldır defalarca bildirilmiş ama ne çözüm var ne ilerleme..

Hardwarekeyboard.instance.addhandle denedim, rawkeyboard addlistener denedim, widgetları da denedim. Keyboardlistener, rawkeyboardlistener, shorcuts, focus vs...

Kaç gündür araştırıyorum bakmadığını arama sonucu kalmadı Googleda, chatgpt de yardımcı olmadı, discord kanalları da, dokümantasyonlarda da bunun için gerekli her şeyi denedim yok çözemedim. Bir şeyi mi kaçıyorum yoksa zaten böyle mi. Öyleyse de bir çözüm önerisi, hile, geçici çözüm filan var mı? Lütfen yardımcı olun kafayı yemek üzereyim artık.