Uygulamanızdan yaygın olmayan cihazlara bağlanma
WebHID API nedir?
Birçok insan arayüz cihazı (HID), sistemlerin cihaz sürücüleri tarafından erişilemeyecek kadar yeni, eski veya yaygın değildir. WebHID API, JavaScript'te cihaza özel mantığı uygulamanın bir yolunu sağlayarak bu sorunu çözer.
WebHID API için önerilen kullanım alanları
HID, kullanıcılardan giriş alır veya kullanıcılara çıkış sağlar. Klavye, işaretleme cihazları (fare, dokunmatik ekran vb.) ve oyun kumandası bu cihazlara örnek olarak verilebilir. HID protokolü, işletim sistemi sürücülerini kullanarak masaüstü bilgisayarlarda bu cihazlara erişmeyi mümkün kılar. Web platformu, bu sürücüleri kullanarak HID'leri destekler.
Yaygın olmayan HID cihazlara erişememek, özellikle oyun kumandası desteği söz konusu olduğunda can sıkıcı bir durumdur. PC için tasarlanmış oyun kumandaları genellikle oyun kumandası girişleri (düğmeler, kontrol çubukları, tetikler) ve çıkışları (LED'ler, titreşim) için HID kullanır. Ancak gamepad giriş ve çıkışları iyi standartlaştırılmamıştır ve web tarayıcıları genellikle belirli cihazlar için özel mantık gerektirir. Bu durum sürdürülebilir değildir ve eski ve yaygın olmayan cihazların uzun kuyruğu için yetersiz destek sağlar. Ayrıca, tarayıcının belirli cihazların davranışındaki tuhaflıklara bağlı olmasına neden olur.
Demo, demo, demo
Bu örneklerden herhangi birinin nasıl çalıştığını merak ediyorsanız hepsinin kaynak kodu GitHub'da mevcuttur. Açıklayıcıda basit bir kod örneği bulunmaktadır.
MacBook Pro klavye aydınlatması
Bu demolardan herhangi birini denemeye engel olan en büyük sorun, cihaza erişememedir. Neyse ki Touch Bar özellikli bir MacBook Pro'nuz varsa herhangi bir şey satın almanız gerekmez. Bu demo, API'yi doğrudan dizüstü bilgisayarınızdan kullanmanıza olanak tanır. Ayrıca, WebHID'in yalnızca çevre birimlerinin değil, yerleşik cihazların işlevlerini de etkinleştirmek için nasıl kullanılabileceğini gösterir.
Yazar: FWeinb
Demo/Kaynak: Klavye Arka Işığı
Oyun kumandaları
PlayStation 4 kablosuz kumanda
Şimdi de daha az kişinin sahip olduğu bir konuya değineceğiz. Sony DualShock 4, PlayStation 4 oyun konsolları için kablosuz bir kumandadır.
DualShock 4 Demo, DualShock 4'ten ham giriş raporlarını almak için WebHID'yi kullanır ve kontrol cihazının jiroskop, hızölçer, dokunmatik yüzey, düğme ve kontrol çubuğu girişlerine erişmek için üst düzey bir API sağlar. Ayrıca titreşimi ve denetleyicinin içindeki RGB LED'in rengini ayarlamayı destekler.
Yazar: TheBITLINK
Demo: DualShock 4 Demo (Kaynak)
Nintendo Switch Joy-Con kontrolörleri
Pantolon cebinize bir Nintendo Switch Joy-Con kontrol cihazı yerleştirerek Chrome dinozor 🦖 çevrimdışı oyununu oynayın. Bu demo, Nintendo Switch Joy-Con kontrol cihazları için bir WebHID sürücüsü olan Joy-Con WebHID tarafından desteklenmektedir.
Yazar: Thomas Steiner
Demo: Chrome Dino WebHID
(demo kaynağı,
sürücü kaynağı)
BlinkStick Strip
BlinkStick Strip, 8 RGB LED'e sahip HID uyumlu bir ışık şeriddir. Demo, kullanıcının takip, yanıp sönme ve Larson tarayıcı (diğer adıyla Cylon) gibi çeşitli yanıp sönme kalıpları arasından seçim yapmasına olanak tanır.
Yazar: Robat Williams
Demo: blinkstick-strip (kaynak)
Yanıp sönüyor, yanıp sönüyor, yanıp sönüyor
Bu demo ne işe yarar? (Bekleyin.) Yanıp söner. Aslında blink(1) USB bildirim ışığını kullanan üç demo var.
blink(1) basit ve iyi belgelenmiş bir işlevdir. Bu nedenle HID ile çalışmaya başlamak için mükemmel bir seçenektir.
Yazar: Tod E. Kurt
Demolar: blink(1) (source)
Teşekkür ederiz
Bu makaleyi inceleyen Pete LePage ve Kayce Basques'a teşekkür ederiz.
Fotoğraf: Unsplash'taki Uğur Akdemir