Bu özellik, dokunma denetleyicisinin veya dokunmatik kullanıcı arabiriminin işlevlerini tamamlamak içindir . Bu onların yerine geçecek bir şey değil.

Uygulama örnekleri:

  • Dersliklerde ve ders saatleri sırasında, bir cihazı bekleme modundan uyandırmak için küçük bir uzaktan kontrol kullanılabilir. ayrıca, hangi giriş kaynağının sunileceğini seçmek için uzaktan kontrol kullanmak da uygun olabilir.

  • Dokunma kontrolörü kullanma izninizin olmadığı durumlarda kamera görünümünü (kaydırma, eğme ve yakınlaştırma) kontrol etme. Örneğin, hastanelerde ameliyat odalarında.

İşleve genel bakış

USB giriş cihazında bir düğmeye basıldığında, Cisco cihazının API bir eylem tetikler. Üçüncü taraflardan gelen makrolar veya harici kontrol cihazları, bu eylemleri algılamak ve buna göre tepki vermek üzere ayarlanabilir. Bu işlev, Oda İçi Kontrol düğmelerinin davranış şekline benzer. Ayrıca, bu eylemleri web kancaları üzerinden veya doğrudan bir SSH oturumu içinde izlemek de mümkündür.

Seçilecek eylemlerle ilgili önceden mevcut bir kitaplık sağlanmaz. Olaylara yanıt olarak gerçekleşmesi gereken belirli eylemleri tanımlamanız ve belirlemeniz gerekir. Örnek:

  • Ses Düzeyi Artırma tuşuna basıldığında Cisco cihazının ses düzeyini artırma.

  • Uyku tuşuna basıldığında Cisco cihazını bekleme moduna getirin.

Yapılandırmalar, Olaylar ve Durum

Bu makalede başvurulan yapılandırmalar ve durum, hem aygıtın yerel web arabiriminden hem de API'lerden kullanılabilir. Web arabirimine erişme ve API kullanma hakkında bilgi için Cihaz yapılandırmaları makalesini okuyun.

Aygıtın web arabirimi açıldığında, Ayarlar'ı tıklayın. Yapılandırmalar altında , Periferler > InputDevice Modunu Açık olarak değiştirin . Üçüncü taraf USB giriş aygıtları desteği, varsayılan olarak devre dışıdır.

Bir düğmenin basılıp bırakılması bir Basılı ve Serbest olayı oluşturur:

 *e UserInterface InputDevice Anahtar Eylem Tuşu: anahtarın < adı> *e UserInterface InputDevice Anahtar Eylem Kodu: anahtarın <kimliği> *e KullanıcıInterface GirişUyrumu Anahtar Eylem Türü: Basıldı ** end *e UserInterface InputDevice Key Action Key: anahtarın <adı> *e UserInterface InputDevice Anahtar Eylem Kodu: anahtarın <kimliği> *e KullanıcıInterface InputDevice Anahtar Eylem Türü: Serbest Bırakıldı ** bitiş 

Olayların takip edilmesi için GirişAygıtı olaylarından geri bildirimleri tespit etmeniz gerekir.

 xFeedback Register /event/UserInterface/InputDevice ** bitiş 

Cisco aygıtı üçüncü taraf periferi algıladığında, Durum altında ve Periferler > ConnectedDevice içinde listelenir. Üçüncü taraf cihaz birden çok cihaz olarak raporlanabilir.

Daha fazla bilgi

Üçüncü taraf giriş aygıtlarının kullanımı hakkında daha fazla bilgiyi Özelleştirme kılavuzunda bulabilirsiniz. En güncel sürümü seçin.

Cisco desteği (TAC) makrolar da dahil, üçüncü taraf kodunda hata ayıklamayı desteklemez. Makrolar ve üçüncü taraf kodu ile ilgili yardıma gereksinim duyarsanız lütfen Cisco RoomOS for Collaboration Devices'ı kontrol edin . Daha fazla makro ve dahili hat örneği için bu sayfayı işaretleyin .

Örnek

Bu örnekte, bir Cisco cihazındaki belirli işlevleri kontrol etmek için üçüncü taraf bir USB giriş cihazının anahtarlarının (bu durumda uzaktan kontrol) nasıl kullanılacağını göstermek istiyoruz.

Bekleme, ses düzeyi ayarlama ve Cisco kamera cihazının kontrolü gibi işlevleri yönetmek için Bluetooth uzaktan kontroldeki (USB dongle'a bağlı) düğmelerin nasıl kullanılacağını gösteririz. İlgili olayları dinleyen ve cisco cihazının API ilgili eylemleri yürüten bir makro geliştirebilirsiniz.

Aşağıdaki örnekte, normal yazı tipiyle yazılmış olan metni girmeniz gerekir. Italik metin, Cisco cihazından alınan yanıttır.

1

, SSH üzerindeki Cisco cihazında oturum açar. Yerel yönetici kullanıcıya ihtiyacınız vardır.

2

Cihazı, üçüncü taraf USB uzaktan kumandanın kullanımına izin verecek şekilde yapılandırın.

 xConfiguration Periferler Giriş Hizmeti Modu: Açık ** bitiş Tamam  

 

Aşağıdaki komutu kullanarak yapılandırmanın Açık veya Kapalı olup olmadığını kontrol edebilirsiniz:

 xConfiguration Periferler GirişDevice Modu  *c xConfiguration Periferler GirişDevice Modu: Açık ** uç Tamam  
3

Geri bildirim için kaydolun, böylece uzaktan kumanda düğmeleri basıldığında ve serbest bırakıldığında bildirim alırız.

 xFeedback Register /event/userinterface/inputdevice  ** end Ok  

 

Cihazın hangi geri bildirimler için kayıtlı olduğunu aşağıdaki komutu kullanarak kontrol edebilirsiniz:

 xFeedback listesi /olay/userinterface/inputdevice ** bitiş Tamam  
4

Geri bildirim kaydının çalıştığından emin olmak için uzaktan kumandada bir düğmeye basın ve serbest bırakın.

Bu eylem iki olay oluşturur: Basılı ve Serbest. Bir düğmeyi basılı tutarsanız düğmeyi serbest bırakana kadar Basılı olayını görürsünüz. Ardından Serbest olayı oluşturulur.

Bu olaylar, Giriş tuşuna basıldığında ve serbest bırakıldığında verilir:

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Pressed ** end *UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Anahtar Eylem Kodu: 28 *e KullanıcıInterface InputDevice Anahtar Eylem Türü: Serbest ** bitiş  
5

İlgili GirişAygıtı olaylarını takip edip cihazın API'sini kullanarak ilgili eylemleri gerçekleştiren bir makro yazın.

  • Bekleme, ses açma ve ses kısma düğmelerinin çalışmalarını sağlayın. Makro; KEY_VOLUMEUP, KEY_VOLUMEDOWN veya KEY_SLEEP içeren bir olay gördüğünde ilgili komutları yürütür.

  • Ok tuşları için kamera kontrol işlevi oluşturun. Düğme basılı tutulduğu sürece kameranın hareket etmeye devam etmesini istiyoruz. Düğme bırakıldığında kamera hareketi durur. Makro; KEY_LEFT, KEY_RIGHT, KEY_UP veya KEY_DOWN içeren bir olay gördüğünde ilgili komutları yürütür.

 const xapi = require('xapi'); function com(command, args=') { xapi.command(command, args), log(command + ' ' + JSON.stringify(args)); } işlev günlüğü(olay) { console.log(olay), } function notify(message) { xapi.command('UserInterface Message TextLine Display', { Metin: mesaj, süre: 3 }); } işlev cameraControl(motor, yön, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direction }); function init() { let standbyState; xapi.status.get('Standby').then(state) => {standbyState = durum. Durum === 'Kapalı' mı? yanlış: doğru; }); xapi.status.on('Beklemede', durum => { bekleme Durumu = durum. Durum === 'Kapalı' mı? yanlış: doğru; }); xapi.event.on('UserInterface InputDevice Tuş Eylemi', => { tuşuna basın (basın. Tür == "Basıldı") { anahtar (basın. Anahtar) { case "KEY_LEFT": cameraControl('Pan', 'Sol'); break; case "KEY_RIGHT": cameraControl('Pan', 'Sağ'); break; case "KEY_UP": cameraControl('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; varsayılan: break; } } } değilse (basın. Tür == "Serbest Bırakıldı") { anahtar (basın. Anahtar) { case "KEY_LEFT": cameraControl('Pan', 'Stop'); break; case "KEY_RIGHT": cameraControl('Pan', 'Durdur'), "KEY_UP": cameraControl('Tilt', 'Stop'); break; case "KEY_DOWN": cameraControl('Tilt', 'Stop'); break; case 'KEY_VOLUMEUP': com('Ses Ses Düzeyi Artışı'); 'KEY_VOLUMEDOWN': com('Ses Düzeyi Azaltma'); break; case 'KEY_SLEEP': com(standbyState? 'Beklemede Devre Dışı Bırak' : 'Yedek Etkinleştirme'); Mola; varsayılan: kesme; } } }); } init();