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

Uygulamanızdan, yaygın olmayan cihazlara bağlanma

Ali Porsuk
Ali Polat
Metin Reyhan
Matt Reynolds

WebHID API nedir?

Pek çok insan arayüz cihazı (HID) çok yeni, çok eski veya sistemlerin cihaz sürücüleri tarafından erişilemeyecek kadar nadirdir. WebHID API, JavaScript'te cihaza özel mantığı uygulamak için bir yol sağlayarak bu sorunu çözer.

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

HID, insanlardan giriş alır veya insanlara çıkış sağlar. Cihazlara örnek olarak klavyeler, işaretleme cihazları (fare, dokunmatik ekran vb.) ve oyun kumandaları verilebilir. HID protokolü, işletim sistemi sürücülerini kullanarak bu cihazlara masaüstü bilgisayarlardan erişmenizi sağlar. Web platformu, bu sürücülere dayanarak HID'leri destekler.

Yaygın olmayan HID cihazlarına erişememe, oyun kumandası desteği söz konusu olduğunda özellikle sıkıntı yaratır. PC için tasarlanan oyun kumandalarında, oyun kumandası girişleri (düğmeler, oyun kolları, tetikleyiciler) ve çıkışlar (LED'ler, sesler) için genellikle HID kullanılır. Ancak, oyun kumandası girişleri 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ülemez ve hem eski hem de yaygın olmayan cihazların uzun kuyrukları için yetersiz destekle sonuçlanır. Ayrıca, tarayıcının, belirli cihazların davranışındaki tuhaflıklara bağlı olmasına da neden olur.

Kısa sunumlar

Bu örneklerden herhangi birinin nasıl çalıştığını merak ediyorsanız hepsinin kaynak kodunu GitHub'da bulabilirsiniz. Açıklayıcıda barebones kod örneği verilmiştir.

MacBook Pro klavye arka ışığı

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

Yazar: FWeinb
Demo/Kaynak: Klavye Arka Işığı

Oyun kumandaları

PlayStation 4 kablosuz kumanda

Sıradaki, muhtemelen daha az kişinin sahip olabileceği bir şey. Sony'nin DualShock 4 cihazı, PlayStation 4 oyun konsolları için kablosuz bir kumandadır.

DualShock 4 Demosu, DualShock 4'ten ham giriş raporları almak için WebHID'yi kullanır ve kumandanın jiroskop, ivme ölçer, dokunmatik alan, düğme ve kontrol çubuğu girişlerine erişmek için üst düzey bir API sağlar. Ayrıca titremeyi ve kumanda içinde bulunan RGB LED'inin rengini ayarlamayı da destekler.

Yazar: TheBITLINK
Demo: DualShock 4 Demo (Kaynak)

Nintendo Switch Joy-Con kumandaları

Chrome dinozor 🦖 çevrimdışı oyununu pantolonunuzun cebinde bir Nintendo Switch Joy-Con kumandasıyla atlayarak çevrimdışı oynayın. Bu demo, Nintendo Switch Joy-Con denetleyicileri için bir WebHID sürücüsü olan Joy-Con WebHID tarafından desteklenmektedir.

Yazar: Thomas Steiner
Tanıtım: Chrome Dino WebHID (demo kaynağı, sürücü kaynağı)

Yanıp Sönme Çubuğu

BlinkStick Strip, 8 RGB LED'li HID uyumlu bir ışık şerididir. Demo, kullanıcının 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 yapmasına olanak tanır.

Yazar: Robat Williams
Tanıtım: blinkstick-strip (kaynak)

Bu demo ne işe yarıyor? (Bekleyin.) Yanıp söner. Aslında üç demoda yanıp sönen(1) USB bildirim ışığı kullanılır.

blink(1) basit ve iyi belgelenmiş olduğundan HID'yi kullanmaya başlamak için mükemmel bir seçenek olur.

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

Bildirimler

Bu makaleyle ilgili yorumlar için Pete LePage ve Kayce Basques'e teşekkür ederiz.

Fotoğrafçı: Ugur Akdemir on Unsplash