6 puan yazan GN⁺ 2023-12-28 | 1 yorum | WhatsApp'ta paylaş
  • DeskHop, iki bilgisayar tek bir klavye/fare paylaştığında, düğmeli USB switch yerine kısayol tuşları ve fare imlecinin hareketiyle giriş hedefini hızlıca değiştiren açık kaynaklı bir donanım projesidir
  • Cihaz, klavye/fare ile iki bilgisayar arasında USB Host/Device rolü üstlenir; iki bağlantıyı aynı anda açık tutar ve fare hareketiyle tuş girişlerini seçili çıkışa iletir
  • Fareyle geçiş, HID rapor tanımlayıcısını mutlak koordinatlara çevirip içeride göreli hareket miktarını biriktirerek, ekran sınırı aşıldığında imlecin diğer bilgisayarın ekranında aynı yükseklikte görünmesini sağlar
  • Başlıca özellikleri hissedilir gecikme olmaması, yazılım kurulumu gerektirmemesi, Linux/macOS/Windows desteği, 15€ altı bileşenler, 3D baskı kasa ve çıkışlar arasında galvanik izolasyondur
  • Sınırları da nettir: Windows 10 KB5003637 sonrasında çoklu ekranlarda mutlak koordinat sorunu vardır; macOS çoklu ekran için deneysel bir geçici çözüm gerekir; gelişmiş klavyeler, çok düğmeli fareler ve çeşitli cihazlarla uyumluluk garanti edilmez

İki bilgisayar arasında hızlı geçiş sağlayan donanım anahtarı

  • DeskHop, her gün iki bilgisayar kullanıp tek bir klavye/fare paylaşmak isteyen kullanım senaryosundan doğmuş bir projedir
  • Mevcut USB anahtarlama kutularının geçişte zaman alması ve düğmeyi bulma sürecinin zahmetli olması sorunlarını çözmeyi amaçlar
  • İstenen davranış iki tanedir
    • Klavye kısayoluyla çıkış değiştirme
    • Fare imlecini monitörler arasında sürükleyince otomatik geçiş
  • Farklı işletim sistemleri kullanan bilgisayarlar arasında da çalışacak şekilde tasarlanmıştır
  • User Manual sunulmaktadır

Başlıca özellikler

  • Tamamen ücretsiz ve açık kaynaklıdır ve Open Source Hardware sertifikası almıştır
  • Geçiş sırasında hissedilebilir gecikme yoktur
  • Fare imleci bilgisayarlar arasında sürüklenerek taşınabilir
  • Bilgisayara ayrı bir yazılım kurulmaz
  • Parça maliyeti 15€ altı olarak belirtilmiştir
  • 3D baskıyla üretilebilen snap-fit kasa kullanır
  • Çıkışlar arasında tam galvanik izolasyon sağlar
  • Linux, macOS ve Windows üzerinde çalışır

Çalışma şekli

  • Cihaz, klavye/fare ile bilgisayarlar arasında aracı cihaz olarak çalışır
  • İki bilgisayarla bağlantıyı aynı anda kurar ve sürdürür
  • Mevcut seçime göre fare hareketi ve tuş girişlerinin hangi bilgisayara iletileceğine karar verir
  • Klavye fareyi takip eder, fare de klavye geçiş durumunu takip eder
    • Fareyi başka bir masaüstüne sürüklediğinizde klavye giriş hedefi de birlikte değişir

Fare geçişinin uygulanması

  • Fare imlecinin ekranlar arasında hareket ettiği hissini oluşturmak için HID rapor tanımlayıcısı mutlak koordinat yöntemine dönüştürülür
  • Gerçek fare raporları hâlâ göreli hareket miktarı olarak gelir; cihaz bunları içeride biriktirerek mevcut konumu yönetir
  • Diğer monitör yönünde mevcut ekran alanının dışına çıkılmak istendiğinde Y koordinatını korur, X koordinatını karşı kenara değiştirir ve ardından çıkışı değiştirir
  • Bu yöntemle imleç diğer bilgisayar ekranında aynı yükseklikte belirir ve geçişin doğal görünmesi sağlanır
  • Gerçek geçiş, bir taraftaki ok durup diğer taraftaki ok hareket etmeye başladığı anda gerçekleşir

Klavye geçişi ve LED durumu

  • Cihaz USB Host olarak çalışırken klavyeyi periyodik olarak sorgular
  • HID raporunda önceden ayarlanmış kısayolu bulursa sonraki karakterleri diğer çıkışa iletir
    • Kullanım örneği: Ctrl + Caps Lock
  • Hangi çıkışın kullanıldığını göstermek için klavye LED’i yeniden kullanılabilir
  • Her bilgisayarın LED durumunu hatırladığı için önceki durum aynen devam ettirilebilir

Derleme ve firmware güncellemesi

  • Sürüm uyuşmazlıklarını ve yol sorunlarını azaltmak, büyük SDK indirmelerinden kaçınmak için minimal pico sdk ve tinyusb birlikte dahil edilmiştir
  • Debian/Ubuntu’da build-essential, cmake, gcc-arm-none-eabi, libnewlib-arm-none-eabi, python3 kurulumu gerekir
  • Varsayılan derleme şu komutlarla yapılır
    • cmake -S . -B build
    • cmake --build build
  • Docker ile tekrarlanabilir derleme de sunulur
    • docker-compose -f misc/docker.yml run --rm build_container
  • pre-built images da kullanılabilir
    • 0.6 sürümünden itibaren tek bir evrensel imaj sunulur
    • .uf2 dosyası cihaza kopyalanarak kullanılır

Firmware yükseltme yöntemleri

  • Option 1: firmware 0.6 ve sonrasında left ctrl + right shift + c + o ile config mode’a girilir
    • Klavyenin bağlı olduğu taraftaki cihaz yeniden başlar ve DESKHOP adlı USB sürücüsü olarak görünür
    • .uf2 dosyası kopyalandığında imaj doğrulamasının ardından flash ve yeniden başlatma yapılır; diğer kartın yükseltmesi de devam eder
    • Bu sürücü normal bir USB depolama aygıtı değildir, dosya kopyalama amacıyla kullanılamaz
  • Option 2: ROM bootloader kullanılarak her Pico’nun kart düğmesine basılı tutarken bağlanır ve görünen flash sürücüsüne .uf2 kopyalanır
  • Option 3: Debug derlemede DH_DEBUG_CDC_FLASH=ON ile derlenmişse CDC seri komutuyla bootloader mode’a girilebilir
    • echo -n 'flash' > /dev/tty.usbmodem11104

Ek özellikler

  • Mouse slowdown

    • right CTRL + right ALT ile yavaş fare modu açılıp kapatılır
    • Hassas konum ayarı gerektiğinde imleç hızını büyük ölçüde düşürür
  • Switch Lock

    • RIGHT CTRL + K ile mevcut ekrana kilitlenir
    • Yanlışlıkla başka ekrana geçmeyi önler
  • Lock Both Screens

    • RIGHT CTRL + L ile iki bilgisayar aynı anda kilitlenebilir
    • Her çıkışın işletim sisteminin ayarlanması gerekir
  • Gaming Mode

    • LEFT CTRL + RIGHT SHIFT + G ile açılıp kapatılır
    • Mevcut ekrana kilitlenir ve fare standart göreli koordinatlı fare gibi çalışır
    • Mutlak fare moduyla uyumlu olmayan oyunlar, sanal makineler ve şu anda desteklenmeyen işletim sistemi sorunları için kullanılan bir moddur
  • Screensaver

    • Varsayılan olarak kapalıdır
    • Etkinleştirildiğinde, pasif süre geçtikten sonra fare imleci Pong topu gibi ekranda sekerek dolaşır
    • O ekrana giriş gönderildiğinde otomatik olarak kapanır

Donanım yapısı

  • Devre, iki Raspberry Pi Pico kartını temel alır
    • Pico, birim başına 4.10€ olması, ucuzluğu, elle lehimlenebilmesi ve kolay tedarik edilebilmesi nedeniyle seçilmiştir
  • İki Pico UART ile bağlanır
  • İki taraf dijital izolatörle ayrılır
    • Analog Devices ADuM1201 yaklaşık 3€’dur
    • TI ISO7721DR yaklaşık 1.5€’dur; daha ucuz, daha hızlı ve pin uyumlu olduğu için tercih edilir
  • RP2040 varsayılan olarak dual USB desteklemez; ancak Pico-PIO-USB ile PIO üzerinden USB uygulanarak hem USB Host hem Device rolleri yerine getirilir

PCB ve kasa

  • DIY üretimi kolaylaştırmak için PCB izleri tek yüzde tutulmuş ve parça sayısı en aza indirilmiştir
  • USB D+/D- diferansiyel hatlarının prensipte aynı uzunlukta olması gerekir; ancak Pico PCB’sindeki GPIO iz uzunluğu farkını dengelemek için bilerek biraz asimetrik tasarlanmıştır
  • Diferansiyel empedans hedefi 90Ω olup pratikte yaklaşık 107Ω elde edilmiştir
  • PCB kalınlığı snap-fit kasaya uyacak şekilde 1.6mm tasarlanmıştır
  • PCB v1.1, v1.0’a kıyasla şunları ekler
    • ESD koruması TPD4E1U06DBVR
    • Klavye/fare konnektörleri için VBUS kapasitörü
    • Silkscreen yön işaretleri
    • Header’ları önceden lehimlenmiş klon kartlar için delikler ve hizalama iyileştirmeleri
    • USB 27Ω dirençleri
  • v1.1, küçük TVS IC ve 0805 dirençler nedeniyle elle lehimleme açısından biraz daha zordur
  • Kasa case içinde sunulur; yaklaşık 33g filament kullanır ve birkaç saat içinde basılabilir
  • Vida olmadan snap-fit yapıyla sabitlenir; kapakta tornavidayla açılabilecek bir yuva vardır

Maliyet ve parçalar

  • PCB v1.1 BOM toplamı 11.22€ olarak belirtilmiştir
  • Başlıca parçalar şunlardır
    • 2 adet Raspberry Pi Pico: 8.20€
    • 2 adet USB-A PCB konnektörü: 0.40€
    • 1 adet TI ISO7721DR: 1.40€
    • 2 adet 100nF kapasitör: 0.18€
    • 4 adet 27Ω direnç: 0.12€
    • 2 adet TPD4E1U06DBVR: 0.62€
    • 2 adet 4.7uF kapasitör: 0.14€
    • 2 adet 2.54mm 1x03 header: 0.16€
  • Ayrıca PCB üretimi gerekir ve Gerber sağlanır
  • 3D baskı için STL dosyaları da sunulur

Kullanım kısayolları ve ayarlar

  • firmware 0.68 ve sonrası için başlıca kısayollar şöyledir
    • Left Ctrl + Right Shift + C + O: config mode’a gir
    • Right Shift + F12 + D: flash ayarlarını kaldır
    • Right Shift + F12 + Y: ekran geçiş ofsetini kaydet
    • Right CTRL + Right ALT: yavaş fare modunu aç/kapat
    • Right CTRL + K: fareyle masaüstü geçişini kilitle/kilidi aç
    • Right CTRL + L: iki çıkışı aynı anda kilitle
    • Left CTRL + Right Shift + G: gaming mode’u aç/kapat
    • Left CTRL + Right Shift + S: screensaver’ı etkinleştir
    • Left CTRL + Right Shift + X: screensaver’ı devre dışı bırak
    • Left CTRL + Caps Lock: çıkış değiştir
  • Bazı klavyeler iki Shift tuşuna aynı anda basılmasını düzgün göndermediği için kısayollar değiştirilmiştir

Web ayar modu

  • firmware 0.6’dan itibaren geliştirilmiş configuration mode tanıtılmıştır
  • Left Ctrl + Right Shift + C + O tuşlarına basıldığında cihaz yeniden başlar ve ayar moduna girer
  • DESKHOP adlı bir USB sürücüsü görünür ve içinde tek bir config.htm dosyası bulunur
  • Bu dosya Chromium veya Chrome’da açılmalıdır
    • Firefox, WebHID uygulamasından kaçındığı için şu anda desteklenmez
  • Bağlantıya izin verdikten sonra seçenekler ayarlanıp kaydedilirse cihaza yazılır
  • Çevrimiçi ayar sayfası yerine yerel dosya yönteminin kullanılma nedeni, giriş cihazlarıyla etkileşen JavaScript’in rastgele bir çevrimiçi konumdan yüklenmesinin potansiyel bir güvenlik riski olmasıdır
  • Ayar web sayfası, depolama alanı kısıtı nedeniyle kendi kendine açılan sıkıştırma yöntemi kullanır; tam kaynak kodu depoda bulunur

Güvenlik ve emniyet tasarımı

  • Sistemler arasında kopyala/yapıştır veya bilgi paylaşımı özelliği yoktur
    • Bu, bilgi sızıntısını önlemek için bilinçli bir kısıtlamadır
  • Çıkış bilgisayarlarından gelen bağlantı yoktur
    • İstisna, standart klavye LED on/off mesajlarıdır ve 1 bayt veriyle sınırlıdır
  • Çıkış bilgisayarları firmware yükseltmesini tetikleyemez
    • Yalnızca özel klavye kısayolu üzerinden açık kullanıcı eylemine izin verilir
  • Bağlı klavye/farenin özel endpoint’lerini açığa çıkarmaz veya bilgiyi cihaz tarafına iletmez
  • Giriş kayıtlarını saklamaz
  • Cihaz kendi başına tuş girişi üretmez
    • Yalnızca kullanıcının girdiği veya tetiklediği şeyler çıkışa verilir
  • Çıkışlar fiziksel olarak ayrılmıştır ve en az 2kV izolasyon gerilimine sahip galvanik izolasyon kullanılır
  • Cihazlar arası paketler sabit uzunluktadır; iletilen ayar seçenekleri kısa bir listeyle sınırlıdır
  • Bluetooth, Wi-Fi, ağ bağlantısı veya internet erişimi yoktur
  • Bağlı bilgisayarlar hiçbir koşulda güvenilir hedef olarak kabul edilmez
  • Ayar modu, pasif süre geçince otomatik olarak kapanır
  • Kod, binary blob olmadan açık kaynak olarak sunulur

SSS ve uyumluluk

  • PCB ve izolatör olmadan yalnızca iki Pico ile de çalışabilir, ancak izolatör kullanılması önerilir
  • Farklı monitör çözünürlüklerinde de fare hareketi soyut koordinat uzayında işlendiği ve bilgisayar bunu fiziksel ekrana eşlediği için çalışması gerekir
  • Satış amaçlı bir ürün değildir; kişisel, ticari olmayan bir hobi projesidir
  • Elecrow üzerinden PCB, monte PCB ve tamamlanmış cihazın tekli adetlerde sipariş edilebildiğine dair bir güncelleme vardır
    • Kullanıcı raporlarına göre kartlar boş halde gelir ve firmware’i kendiniz yazmanız gerekir
  • Logitech Unifying gibi klavye/fare combo dongle’ları için desteğin son firmware güncellemelerinden sonra daha iyi hale geldiği söylenir
  • Ayrı kablosuz alıcı kullanan kablosuz fare ve klavyeler, Anker kablosuz fare testinde düzgün çalışmıştır
  • Derleme sorunları için Troubleshooting Wiki incelenebilir

Yazılım alternatifleri

Bilinen sınırlamalar ve planlar

  • Windows 10 KB5003637 sonrasında HID mutlak koordinat davranışı bozulduğu için Windows’ta birden fazla ekran kullanılamaz
    • Fare ana ekranda kalır; deneysel bir geçici çözüm vardır ve daha iyi bir geçici çözüm geliştirilmektedir
  • Kodun düzenlenmesi ve refactor edilmesi gerekir
  • Çeşitli cihazlarda yeterince test edilmediğinden, donanıma bağlı olarak doğrudan çalışmama ihtimali vardır
  • Düğme, ek tuş ve slider bulunan gelişmiş klavyelerde bu ek donanımlar çalışmayabilir
  • Çok fazla düğmesi olan modern farelerde bazı düğmeler beklendiği gibi çalışmayabilir
  • Çalışması için iki bilgisayarın da bağlı olup USB gücü sağlaması gerekir
    • Çünkü her kart bağlı olduğu bilgisayardan güç alır
  • macOS’te 2 veya daha fazla ekranda sorunlar vardır; son firmware bunun için deneysel bir geçici çözüm sunar
  • Planlanan özellikler arasında Windows/macOS çoklu ekran geçici çözümlerinin iyileştirilmesi, şeffaf/gaming mode, 2’den fazla çıkış desteği ve ayar arayüzünün iyileştirilmesi yer alır
  • Yalnızca tek bir Pico W kartıyla temel işlevleri sunan lite sürüm üzerinde de çalışılmaktadır
  • Fare polling’i şu anda 1000Hz ile çalışabilir

1 yorum

 
GN⁺ 2023-12-28
Hacker News yorumları
  • Ekran kenarlarını istemci yazılımı olmadan algılayabilmesi güzel
    Fare imlecinin doğal şekilde geçebilmesi için fare HID rapor tanımlayıcısını mutlak koordinatlara çeviriyor; aslında göreli hareket olarak gelen fare raporlarını ise içeride biriktirerek doğru konumu koruyor
    Bu yüzden pano işlevi ve istemci yazılımı olmayan synergykm / Barrier gibi çalışıyor

    • Bilgisayarların ağ üzerinden bağlı olmasına gerek olmaması özellikle güzel
    • İmleç fare dışındaki başka bir unsur tarafından hareket ettirilirse tamamen bozulup bozulmayacağını merak ediyorum
      Örneğin otomasyon betikleri ya da imleci ekranın ortasında sabitleyen oyunlar gibi durumlar var
  • YouTube’da ayrı bir donanım olmadan da , ve . tuşlarıyla videoda kare kare ilerlenebiliyor

    • Android’de de bir çözüm olsa iyi olurdu
      Dokunmatik arayüzde hassas seçimi kaydırıcıyla yapmak gerçekten berbat
    • 30 saniye ile 1 kare arasındaki geçişler mümkün değil
    • Günümüzde farelerin çok hassas ve iyi çalıştığını düşünüyorum; kaydırma yaparken nefesinizi tutmanıza neden olan nasıl bir fare kullandığınızı merak ediyorum
    • mpv de aynı kısayolları kullanıyor
      Hangisi önceydi bilmiyorum ama bunu mpv’de öğrenmiştim; YouTube’da tesadüfen basınca çalıştığını gördüm
  • Windows’ta Microsoft Garage tarafından geliştirilen ve artık Windows PowerToys’a dahil olan Mouse Without Borders kullanılabilir
    Bağlantılar:
    https://www.microsoft.com/en-us/garage/profiles/mouse-without-borders
    https://github.com/microsoft/PowerToys

    • Barrier, Synergy’den çatallanan çapraz platform açık kaynaklı bir proje ve ek donanım olmadan da oldukça iyi çalışıyor
      Ancak şimdi baktığımda bakımı durdurulmuş; ardılı Input Leap
      https://github.com/debauchee/barrier
      https://github.com/input-leap/input-leap
    • Eskiden denemiştim, gerçekten iyi çalışıyordu
      Özellikle bilgisayarlar arasında dosyaları sürükleyip bırakarak kopyalamayı kolaylaştırıyor
  • Klavye ve fareyi değiştirmek için tam 4 USB hub aldım, ama çoğu cihaz o kadar kötü ki sinir bozucu
    Günde birkaç kez hub’ı fiziksel olarak çıkarıp takmam gerektiği oluyor; web kamerası ya da USB mikrofon da bağlayınca daha da kötüleşiyor
    Synergy’yi iyi kullanıyorum ama web kamerası, mikrofon ve sesi de düzgün yönetebilen ve bağlı cihaz gruplarını klavye kısayoluyla taşıyabilen gerçek bir KVM gerekiyor
    KVM kullanıcıları kesinlikle yeterince desteklenmiyor

    • İş yerinde tesadüfen kullanmaya başladığım BenQ 32 inç 4K monitörün dahili KVM kurulumu en iyisiydi
      Her DisplayPort girişine bağlı USB portları var; USB-C ise çevre birimleri, ekran girişi ve oldukça iyi güç çıkışını üstleniyor
      Masanın üzerindeki küçük bir anahtarla geçiş yapılıyor; ayrıca görüntülenmeyen girişte de monitör bağlı kalıyormuş gibi gösterdiği için Windows’un yeniden düzenleme yaparken ekranı kırpıştırması olmuyor, geçiş çok daha hızlı ve sorunsuz
    • PC ile MacBook arasında klavye, fare ve monitörü paylaşmak istiyorum ama bir tarafı DP+USB, diğer tarafı Thunderbolt olan bir KVM yok gibi
      Yaygın bir kullanım senaryosu gibi geliyor, yazık
      Önce bir dock üzerinden çıkarılabilir ama kullandığım monitörün çözünürlüğü yüksek olduğu için çoğu dock zorlanıyor ya da yalnızca 30Hz destekliyor
    • Yakın zamanda Dell’in 32 inç 6K monitörünü aldım; içinde Thunderbolt 4 hub ve KVM var, kusursuz çalışıyor
      Mac, tek bir Thunderbolt 4 kablosuyla; PC ise HDMI 2.1 ve USB3 10Gbps upstream bağlantısıyla bağlanıyor
      Monitöre Ethernet ve klavye/fare bağladım; kısayol tuşuyla ya da monitör OSD’si üzerinden doğru cihaza geçiliyor
      PIP özelliğiyle iki cihazı aynı anda görmek de mümkün
    • tesmart çift DP 4 portlu KVM’den çok memnunum
      Sınırı yalnızca USB 2 host denetleyicisi olması; bu yüzden bazı web kameraları gibi yüksek hızlı cihazları geçirmek zor
      Apple ürünlerini karıştırmanız gerekiyorsa, Apple MST’den hoşlanmadığı için iki ekran kanalını ayırmak adına Mac’te fiziksel iki USB3 kablosu kullanmanız gerekiyor
    • ATEN USB KVM’e her şeyi takabilirsiniz
      Dosyaları hızlı taşımak için USB sürücü takıp kullanıyorum; USB gücüyle çalışan cihazlar genelde oluyor
      USB 3+, DP vb. seçerseniz pahalı ama yalnızca USB’yi değiştiren ucuz modeller de var
      Ancak özel tuşları olan bazı fare ve klavyelerin %100 çalışmaması gibi büyük bir dezavantajı var
  • Bu amaçla Synergy’yi 10 yıldan uzun süredir kullanıyorum.
    https://symless.com/synergy hızlı; Wi‑Fi üzerinden bile anında geçiş yapıyor ve Windows/Mac/Linux’un hepsini destekliyor.

    • Synergy, Barrier ve Input Leap aynı kökten gelen oldukça iyi yazılım çözümleri.
      Son ikisi ücretsiz ve açık kaynak; Synergy’nin ise cihazlar arasındaki sınırları yapılandırma biçimi iyi.
      Yine de hangi çözüm olursa olsun özel monitör yerleşimlerini düzgün desteklese güzel olurdu.
      Kendi ortamımda monitörler tek sıra halinde değil ve her monitör bağımsız olarak her cihaza geçebiliyor; bu yüzden monitör ve cihaz bazında sınır belirleyebilmek harika olurdu ama ne yazılım ne de donanım tarafında böyle bir şey var gibi görünüyor.
      Yakın zamanda Synergy’ye sordum; popüler bir özellik isteği olarak yol haritasında olduğunu söylediler, umarım yakında gelir.
    • Birden fazla bilgisayarda farklı VPN’ler kullanınca Synergy iyi çalışmadığı için, buradaki DIY’a benzer ticari bir cihaz aldım ve çok iyi çalışıyor.
      Önce bilgisayarda oturum açmak gerekmiyor; ekran kenarını geçerek ya da bir tuş kombinasyonuyla geçiş yapılabiliyor.
      Bağlı USB cihazları da klavye ve fareden bağımsız olarak değiştirilebiliyor.
      Bu tür ürünlere boundless, borderless, roaming KM switch de deniyor.
      https://www.cdw.com/product/siig-4-port-roaming-km-switch-wi...
    • ShareMouse da anılmaya değer: https://www.sharemouse.com/
      Kişisel olarak Synergy’den çok daha iyi çalıştı.
      Synergy geliştiricileri yıllardır var olan hatalara yanıt vermediği ve artık kullanılamaz hale geldiği için buna geçtim.
      Örnek: https://github.com/symless/synergy-core/issues/5992
      Dezavantajı, 1 yıl sonra da güncelleme almak için “bakım yenilemesi” yapmak gerekmesi; ancak henüz yenilememiş olmama rağmen sorunsuz kullanıyorum.
    • Birkaç ay önce ikinci bilgisayarda fare dondu; Synergy çalıştırdığımı tamamen unuttuğum için düzeltmem birkaç dakika sürdü.
      Kontrol edince kurulumun 4–5 yıldır sorunsuz çalıştığını gördüm; ücretli yazılımlar arasında parasının karşılığını en iyi verenlerden biri.
    • İyi görünüyor ama TLS’yi temel ücretli SKU’nun üstünde bir premium özellik olarak koymaları üzücü.
      Güvenlik her şeyde varsayılan ve ücretsiz olmalı; lüks değil, asgari şart.
      Yine de deneyip beğenirsem kopyala-yapıştır özelliği için premium lisans almayı düşünebilirim.
  • Benzer bir proje olan https://github.com/jfedor2/screen-hopper’dan ilham alarak yaptığım bir proje var.
    Kendi yaptığım sürüm iki programdan oluşuyor.
    Biri Linux masaüstünde çalışıyor; Linux giriş alt sistemi evdev’den gelen giriş olaylarını dinliyor ve belirli bir tuşa basılınca tüm olayları tüketip USB seri üzerinden RPI Pico’ya gönderiyor.
    Tekrar basılınca pasif dinleme moduna geri dönüyor.
    RPI Pico, seri üzerinden aldığı Linux evdev olaylarını USB HID olaylarına çevirip başka bir Windows PC’ye gönderiyor.
    Sonuçta Linux PC ile herhangi bir işletim sistemi çalışan PC arasında anında geçiş yapan bir KM switch oluyor.
    Kablolama fotoğrafı: https://ibb.co/m0zhzgz
    Başka bir Pico’yu USB seri adaptörü olarak kullandım; donanım acemisi biri olarak yalnızca 2 kablo gerekmesi büyük rahatlıktı.
    İki program da 100 satırın altındaydı; Linux evdev’i dinlemek için Rust crate’leri ve Python paketleri bol.
    Pico tarafı da büyük bir switch ifadesi içeren bir döngüye yakın; USB HID olayları gönderen bir Rust crate’i var.
    COBS kullanınca çerçeveleme derdi olmadan seri üzerinden gönderebiliyorsunuz.
    USB seri hatası yüzünden sonunda açık kaynak olarak yayımlamadım; bağlantı koptuktan sonra Linux masaüstüne düzgün yeniden bağlanmıyordu.
    Sorun Linux’tan mı Pico’dan mı bilmiyorum; kabloyu çıkarmadığım için hâlâ sorunsuz kullanıyorum.
    Çok FPS oyunu oynadığım için mutlak koordinat özelliğini bilerek çıkardım; geçiş tuşunu farenin yan düğmesine bağladım, böylece klavyeye dokunmadan sistem değiştirebiliyorum.

    • Gerçekten harika bir fikir.
      screen-hopper projesinden daha dün haberdar oldum; ne yapmaya çalışırsan çalış, daha zeki birinin onu zaten daha iyi yaptığı teorisini doğrulamış gibi hissettim.
      Hiç oyun oynamadığım için mutlak koordinat da benim için sorun değil, ama yapılacaklar listemde bunu yapılandırılabilir hale getirmek var.
    • USB seri hatası aslında yayımlamak için bir sebep olabilir.
      Birilerinin hataya yol açan ince noktayı kurcalaması için nerd sniping yapmış olursunuz.
    • Hata olsa da yayımlamam yönünde çok öneri aldım ve bu mantıklı.
      Olduğu gibi sağlanan kaynak burada: https://github.com/null-dev/picokvm
    • Destek yok, kullanım kullanıcının sorumluluğundadır uyarısını koyup depoya yükleyebilseydiniz güzel olurdu.
    • Hata kalsa bile görmek isteyecek çok kişi olduğunu düşünüyorum.
  • USB 3.0 switch ile iki PC arasında fare ve klavye girişini değiştirmek en büyük sıkıntılarımdan biriydi.
    Teams toplantısında pek konuşacak bir şeyim yokken biri adımı söylediğinde ya da mesaj attığında, girişi Teams’in açık olduğu PC’ye çevirmek için düğmeyi ararken panikliyordum.
    Bir ESP32 ya da Rpi Pico W ile birkaç optokuplörü USB switch’in düğme pinlerine bağlayıp, bir HTTP endpoint’i açarak AutoHotkey betiği ve kısayol tuşuyla iki cihazın girişini değiştirme fikrim vardı.
    Ancak şu anda aktif girişi nasıl belirleyeceğimi bulamadığım için vazgeçmiştim; bu çözümü sevdim.

    • Teams uyumlu kulaklıklardan sessize alma düğmesi olanlara bakmanız iyi olabilir.
      Şirketin verdiği Logitech kulaklıkta kablo üzerinde ses, çağrıyı sonlandırma ve sessize alma düğmeleri var; çoklu görev yaparken sessizden çıkmak çok daha kolay oluyor.
  • Synergy bu kullanım amacını tamamen yazılımla iyi şekilde karşılıyor
    Ücretsiz ya da açık kaynak değil, ama görece ucuz
    https://symless.com/synergy

    • Synergy kapalı kaynak olmadan önce Barrier[0] olarak çatallandı, sonra tekrar input-leap[1] olarak çatallandı
      İkisi de açık kaynak
      [0] https://github.com/debauchee/barrier
      [1] https://github.com/input-leap/input-leap
    • Synergy açık çekirdekli; şu bölümler GPL ile lisanslanmış: https://github.com/symless/synergy-core/#License-1-ov-file
      1.9 sürümünde ayrılan açık kaynak bir fork da var: https://github.com/debauchee/barrier#what-is-it
    • Synergy’de pek umursamıyor gibi göründükleri hatalar var
      Örneğin macOS host kullanırsanız, Windows/Linux istemcilerinde imleç konumu hesabında macOS hızlandırma eğrisi kullanılıyor ama gerçek imleç hareketinde kullanılmıyor
      Bu yüzden host’a yakın olan Windows ekranının üçte birlik kısmında çalışmaya çalışırken istemeden geri geçmiş oluyorsunuz
    • Windows ve Android tablet kombinasyonu için kullanılabilir bir önerisi olan var mı merak ediyorum
      Tüm çözümler yalnızca masaüstü işletim sistemlerinde çalışıyor gibi görünüyor
    • “Synergy kadar sinir bozucu bir şey yok, ama hepsi böyle” deniyor
      Bu teknolojilerden hiçbiri kararlı değil; Synergy birkaç kez bağlı klavyeyi bile kilitleyip bilgisayarı kapatıp açmadan tepki vermeyen bir hale soktu
  • Gerçekten harika
    En az 20 yıldır soldan sağa Linux-Mac-Windows kutularından oluşan bir masaüstü düzeni kullanan biri olarak bunu özellikle böyle hissediyorum
    Programlama dillerinde çok dillilik varsa, donanımda da çok platformlu kurulum var
    Neyse ki son yıllarda sistem-çip (SoC) tasarımlarının artmasıyla bu daha kolaylaştı
    Şu anki kurulumum Shenzhen’den gelen 250 dolarlık iki Ryzen SoC Mac mini kopyası ve bir M1 MBP’den oluşuyor
    Bir zamanlar sağlam olan Synergy gibi açık kaynak KVM çözümleri dünyasının fork’ların özyinelemeli kâbusuna dönüşüp ücretsiz çalışan, çok platformlu açık kaynak yazılımsal KVM bulmayı zorlaştırması üzücü
    Şimdilik sonunda klasik bir KVM switch kullanıyorum, ama düğmeye basmak dikkat dağıtıyor
    Bir gün buna benzer bir şeyi tekrar denemek isterim

  • Bunu ticarileştirmek için birlikte çalışmak isteyen biri varsa plastik enjeksiyon kalıplama, pazarlama, toplu montaj ve gereken diğer işleri masrafları üstlenerek yapmaya hazırım
    E-posta adresim profilimde

    • Ticarileştirilecekse “çalışması için iki bilgisayarın da bağlı ve açık olması gerekir” dezavantajının mutlaka çözülmesini isterim
      Benim için anlaşmayı bozan bir şart
    • Zaten ticari ürünler var
      boundless, borderless, roaming KM switch diye aratabilirsiniz