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

Uygulamanızdan nadir kullanılan cihazlara bağlanma

Joe Medley
Joe Medley
Matt Reynolds
Matt Reynolds

WebHID API nedir?

Birçok insan arabirim cihazı (HID), sistemlerin cihaz sürücüleri tarafından erişilemeyecek kadar yeni, eski veya nadir bulunur. WebHID API, cihaza özel mantığı JavaScript'te uygulamanın bir yolunu sunarak bu sorunu çözer.

WebHID API için önerilen kullanım alanları

HID, insanlardan girdi alır veya insanlara çıktı sağlar. Cihaz örnekleri arasında klavyeler, işaretleme cihazları (fareler, dokunmatik ekranlar vb.) ve oyun kumandaları yer alır. HID protokolü, işletim sistemi sürücülerini kullanarak bu cihazlara masaüstü bilgisayarlardan erişmeyi mümkün kılar. Web platformu, bu sürücülere dayanarak HID'leri destekler.

Yaygın olmayan HID cihazlara erişilememesi, özellikle oyun kumandası desteği söz konusu olduğunda can sıkıcıdır. PC için tasarlanan oyun kumandaları, oyun kumandası girişleri (düğmeler, joystick'ler, tetikler) ve çıkışları (LED'ler, titreşim) için genellikle HID kullanır. Ancak gamepad giriş ve çıkışları iyi bir şekilde 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 ile yaygın olmayan cihazların uzun kuyruğu için yetersiz destek sunulmasına neden olur. Ayrıca tarayıcının, belirli cihazların davranışlarındaki tuhaflıklara bağlı olmasına da neden olur.

Demolar, demolar, demolar

Bu örneklerden herhangi birinin nasıl çalıştığını merak ediyorsanız hepsinin kaynak kodunu GitHub'da bulabilirsiniz. Açıklayıcıda basit bir kod örneği yer almaktadır.

MacBook Pro klavye aydınlatması

Bu demoların herhangi birini denemenin önündeki en büyük engel, cihaza erişimin olmamasıdır. Neyse ki Touch Bar'lı 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'nin yalnızca çevre birimlerinin değil, yerleşik cihazların işlevlerinin kilidini açmak için nasıl kullanılabileceği de gösterilmektedir.

Yazar: FWeinb
Demo/Kaynak: Keyboard Backlight

Oyun kumandaları

PlayStation 4 kablosuz kolu

Sıradaki öğe, daha az kullanıcının sahip olabileceği bir öğe. Sony'nin DualShock 4'ü, PlayStation 4 oyun konsolları için kablosuz bir kumandadır.

DualShock 4 Demo, DualShock 4'ten gelen ham giriş raporlarını almak için WebHID'yi kullanır ve kontrol cihazının jiroskopuna, ivmeölçerine, dokunmatik alanına, düğmesine ve analog çubuğuna erişmek için üst düzey bir API sağlar. Ayrıca titreşimi ve kontrol cihazında bulunan bir RGB LED'in rengini ayarlamayı da destekler.

Yazar: TheBITLINK
Demo: DualShock 4 Demosu (Kaynak)

Nintendo Switch Joy-Con kumandaları

Pantolon cebinizdeki Nintendo Switch Joy-Con kumandasıyla zıplayarak Chrome dinozor 🦖 çevrimdışı oyununu oynayın. Bu demo, Nintendo Switch Joy-Con kumandaları 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ğı)

The BlinkStick Strip

BlinkStick Strip, 8 RGB LED'li, HID uyumlu bir ışık şerididir. Demoda kullanıcı, kovalama, yanıp sönme ve Larson tarayıcı (diğer adıyla Cylon) gibi çeşitli yanıp sönme desenleri arasından seçim yapabilir.

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 kitaplıktır. Bu nedenle, HID ile çalışmaya başlamak için mükemmel bir seçenektir.

Yazar: Tod E. Kurt
Demolar: blink(1) (kaynak)

Teşekkür

Pete LePage ve Kayce Basques'e teşekkür ederiz.