Web'deki insan arayüz cihazları: birkaç hızlı örnek

Uygulamanızdan yaygın olmayan cihazlara bağlanma

Joe Medley
Joe Medley
Matt Reynolds
Matt Reynolds

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)

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