Android 9 ve önceki sürümlerde birden fazla ekranla etkileşimde bulunmak mümkün değildi Ekran ve giriş arasında ilişkilendirme mekanizması olmadığından, dokunma yoluyla cihazlar. Örneğin, dokunmatik ekranlı bir ekran HDMI video çıkışı sağlayabilir (Android'de ekran olarak kaydedilir) ve dokunmatik ekran için USB çıkışı (bir giriş cihazı olarak kaydedilir). Birden fazla cihaz Bu şekilde, hangi giriş cihazının hangi cihaza ait olduğunu belirlemenin bulunur. Aynı sorun birden fazla yerleşik özelliği olan katlanabilir cihazlar için de geçerli. görüntüler.
Android 10, hangi girişin girileceğini belirten bir mekanizma ekledi cihazın ait olduğu cihaz türü. İlişkilendirme, aşağıdaki bağlantı noktası numaralarıyla bağlantı noktası, bir ekranın bağlı olduğu fiziksel bağlantı noktasını belirtir.
Örneğin, bir Android cihazda hdmi1
etiketli iki HDMI bağlantı noktası varsa
ve hdmi2
için görüntüleme bağlantı noktası değerleri 1
ve
2
. Bağlantı noktası değerleri, farklı bir ekran olsa bile
aynı fiziksel cihaza bağlı (ör. farklı bir ekran modeli veya üretici)
HDMI bağlantı noktası. Bu, cihaz üreticilerinin montaj talimatları sağlamasına olanak tanır.
ve ekranları yükseltmenizi sağlar.
İlişkilendirme /vendor/etc/input-port-associations.xml
ürününde yapılandırıldı.
Örnek:
<ports>
<port display="0" input="usb-xhci-hcd.0.auto-1.1/input0" />
<port display="1" input="usb-xhci-hcd.0.auto-1.2/input0" />
</ports>
Yukarıdaki örnekte display="0"
,
bağlı olduğundan emin olun. input="usb-xhci-hcd.0.auto-1.1/input0"
.
giriş cihazının bağlı olduğu bağlantı noktasını belirtir. Bağlantı noktalarını belirlemek için
aşağıdaki terminal komutunu kullanın, ardından
bu cihazların location
özelliğini, Etkinlik Merkezi Durumu'nda inceleyin.
adb shell dumpsys input
Çok sayıda cihaz bağlıysa belirli bir cihaza dokunarak
RecentQueue
dizisi vardır. Bu sayede,
ara hedeflerin
en son etkinliği oluşturan cihazlar. Daha sonra
etkinliğindeki ilgili cihazı kontrol eder.
Bağlı ekranlara atanan ekran bağlantı noktalarını belirlemek için
adb shell dumpsys display
ve ardından address
araması yapın.
özelliğinin DisplayDeviceInfo
özelliğini kullanmanız gerekir.
Alternatif olarak, döküm için adb shell dumpsys SurfaceFlinger --display-id
komutunu kullanın
kimlik bilgilerini girin. Şu kaynakları da inceleyin
Statik görüntülü reklam tanımlayıcıları.
Belirli bir giriş cihazı ve ilişkili giriş cihazı için bir ilişkilendirme sistemde mevcut değilse giriş cihazı, ilgili ayar gelene kadar görünür. İlişkilendirme yalnızca dokunmatik cihazlar için gerçekleştirilir.
Dinamik çoklu ekranlar için yönlendirme
Android 10, statik çoklu ekran oluşturmanıza olanak tanır cihazlar. Dinamik ilişkilendirmeler henüz etkin değil. Ancak bazı kullanım alanları bulunmayan ekranlar ve giriş panelleri için yönlendirme bilgileri sağlayarak Her zaman mevcut olan veya sanal giriş cihazları kullanan ve ardından ek yönlendirme sağlayan bu sanal cihazlara gönderebiliyor. Cihaz uygulaması şunları destekliyorsa:
- Bir bağlantı istasyonunda masaüstüne benzer bir deneyim varsa bir yönlendirme yapılandırması Yuvaya bağlı giriş aksesuarından gelen hedef girişi (tanımlanmış bağlantı noktasıyla benzersiz şekilde) harici ekrana (bağlantı noktasıyla tanımlanır) gönderir.
- Bağlandığında giriş kaynağı (dokunmatik alan gibi) görevi gören birincil ekran harici ekrana bağlanıyorsa, hedef girişine yönelik bir yönlendirme yapılandırması sağlanabilir sanal dokunmatik panelden (benzersiz sanal kimlikle tanımlanır) harici ekrana (bağlantı noktasıyla tanımlanır).
Uygulama
- Fiziksel cihazlarda, giriş cihazının bağlı olduğu bağlantı noktası ve gibi bazı bağlantı noktaları yer alır. Bunlar, ekranları dokunmatik ekranlarla eşleştirmek için kullanılır.
- Eşlemeler
InputReaderConfiguration
içinde depolanır. TouchInputMapper.mViewport
, eşleşen görüntü alanına ayarlandıInputDevice.location
için belirtilen bağlantı noktası.- Eşleme dosyasında bir giriş cihazı bağlantı noktası belirtildiyse ve eşleşen bir görüntü bağlantı noktasına sahip bir görüntü alanı değilse devre dışı bırakılır.
- Belirli bir giriş cihazı için bağlantı noktası belirtilmezse görüntü alanı mevcut kurallara göre ayarlanmış olabilir.
- Giriş sürücülerinde çekirdek değişikliklerine gerek yoktur.
- Giriş cihazı bağlantı noktaları, EVIOCGPHYS ioctl kullanılarak belirlenir.