6 puan yazan GN⁺ 2023-12-28 | 1 yorum | WhatsApp'ta paylaş

DeskHop - Hızlı masaüstü geçişi

  • Ücretsiz ve açık kaynak
  • Geçiş sırasında neredeyse hiç gecikme yok
  • Fare işaretçisini bilgisayarlar arasında sürükleyerek geçiş yapılabiliyor
  • Yazılım kurulumu gerektirmez
  • Ucuz ve kolay bulunabilen parçalar kullanır (15 eurodan az)
  • 3D yazıcıyla basılabilen snap-fit kasa
  • Çıkışlar arasında tam galvanik izolasyon
  • Linux, macOS ve Windows'ta çalışır

Nasıl çalışır

  • Cihaz, klavye/fare ile bilgisayarlar arasında aracı görevi görür ve iki bilgisayarla aynı anda bağlantıyı sürdürür
  • Kullanıcının seçimine göre fare ve tuş girişlerini hangi bilgisayara ileteceğine karar verir
  • Fareyi diğer masaüstüne sürüklediğinizde klavye de otomatik olarak geçiş yapar

Fare

  • Fare HID report descriptor'ını mutlak koordinatlar kullanacak şekilde değiştirir ve fare raporlarını (göreli hareket) içeride biriktirerek doğru konumu korur
  • Diğer monitör yönünde monitör alanının dışına çıkmaya çalışıldığında Y koordinatını korur, maksimum X'i minimum X'e çevirir ve ardından çıkışı değiştirir
  • İmlecin diğer monitörde aynı yükseklikte görünmesini sağlayarak geçişin akıcı hissedilmesini sağlar

Klavye

  • USB host olarak klavyeyi periyodik şekilde sorgular, önceden ayarlanmış kısayolları (Caps Lock vb.) arar ve karakterleri diğer çıkışa iletir
  • Hangi çıkışın kullanımda olduğunu görsel olarak göstermek için klavye LED'lerini yeniden kullanarak geri bildirim sağlar
  • Her bilgisayarın LED durumunu hatırlar, böylece çalışmaya önceki durumla devam edebilirsiniz

Hazır derlenmiş imaj kullanımı

  • Hazır derlenmiş imajlar kullanılabilir
  • Pico kartını PCB üzerindeki A yuvasına takın; kabloyu bağlarken kart üzerindeki düğmeyi basılı tutarsanız sistemde bir USB sürücü olarak görünür
  • İlgili board_A.uf2 dosyasını kopyalayın ve B için de aynı işlemi tekrarlayın

Firmware yükseltme

  • Seçenek 1: Kasayı açın ve her Pico'yu bağlarken düğmeyi basılı tutup doğru uf2 dosyasını kopyalayın
  • Seçenek 2: Belirli bir tuş kombinasyonunu (Right Shift, P, H, X, Left Shift) kullanarak BOOTSEL moduna geçin ve Picos'u bootloader yükseltme moduna alın

Diğer özellikler

  • Fareyi ince ayarlamanız gerektiğinde Right ALT tuşunu basılı tutarak fareyi hareket ettirirseniz fare hızı belirgin şekilde düşer ve hassas işlemler yapılabilir

Donanım

  • Devre ucuzdur (adet başına 4.10 euro), elle lehimlenebilir ve çoğu tedarikçide stokta bulunan iki Raspberry Pi Pico kartını temel alır
  • Picos, Analog Devices ADuM1201 çift kanallı dijital izolatör (~3 euro) kullanılarak UART üzerinden bağlanır
  • RP2040'ın programlanabilir IO sihirinden yararlanarak USB'yi uygulayan etkileyici projeler sayesinde hem USB host hem de device olarak çalışabilir

PCB

  • DIY kurulumu olabildiğince basit tutmak için izler yalnızca tek yüzeye yerleştirilmiş ve parça sayısı minimumda tutulmuştur
  • USB D+/D- diferansiyel hatlarının uzunlukları eşit olmalıdır; ancak toplam uzunlukların uyuşması için PICO PCB'nin kendi GPIO iz uzunluğu farkını telafi edecek şekilde bilinçli olarak biraz asimetrik tasarlanmıştır

Kasa

  • 3D modelleme konusunda çok yetkin olunmadığı için kasa sade ve temel düzeyde, ancak amacına uygun
  • Basması kolaydır, yaklaşık 33 g filament kullanır ve birkaç saatte tamamlanır
  • Yatay PCB hareketi deliklerden geçen pimlerle, dikey hareket ise yanlardaki snap-fit çıkıntılarla engellenir; bu sayede vida gerekmez
  • Micro USB konnektörler kasanın yan yüzeyinden dışarı taşar; bu yüzden biraz daha büyük bir delik açıldığında kablo rahatça geçebilir
  • Kapak snap-fit tasarımdadır ve açmak için bir tornavida yuvası vardır
  • Üstteki işaretler içe gömülüdür; kontrastı artırmak için mum boya vb. ile doldurulabilir (ya da olduğu gibi bırakılabilir)

Malzeme listesi

  • 2 adet Raspberry Pi Pico, 1 adet ADuM1201BRZ, 2 adet Cap 1206 SMD 100nF, 2 adet USB-A PCB konnektörü, 2 adet Headers 2.54 1x03
  • Toplam fiyat: 11.53 euro
  • USB-A konnektörü olarak Molex MX-67643-0910 veya aynı ölçülere sahip daha ucuz bir muadil kullanılabilir
  • Ek adımlar: PCB üretimi (Gerber sağlanıyor, JLC birkaç dolara üretebiliyor, 1.6 mm kalınlık seçin), kasanın 3D baskısı (stl dosyaları sağlanıyor, yaklaşık 33 g filament gerekir)

SSS

  1. PCB ve izolatör olmadan yalnızca iki Pico ile çalışır mı?
    • İzolatör önerilir, ancak onsuz da çalışabilir.
  2. Monitörlerin çözünürlükleri farklıysa ne olur?
    • Fare hareketi soyut bir koordinat uzayında yapılır ve fiziksel ekranla eşleştirmeyi bilgisayar hesapladığı için sorunsuz çalışması gerekir.
  3. Bu ürünü nereden satın alabilirim?
    • Satılmıyor; kişisel, ticari olmayan bir hobi projesidir.
  4. Fareyle etkin ekran değiştiğinde klavye de onu takip ediyor mu (ve tersi)?
    • Evet, tek bir bilgisayarmış gibi çalışacak şekilde yapılmıştır.
  5. Logitech Unifying Receiver gibi klavye/fare birleşik dongle'larıyla çalışıyor mu?
    • Mevcut sürümde fareyin başka bir porta bağlı olduğu varsayıldığı için çalışmaz. Logitech Unifying Receiver'ın davranışının incelenmesi ve desteğin eklenmesi gerekir.
  6. Fare ve klavyenin ayrı kablosuz alıcıları olduğu durumlarda çalışıyor mu?
    • Bu senaryolar test edilmediği için beklenmedik sorunlar olabilir, ancak teorik olarak doğrudan çalışması gerekir.

Dezavantajlar

  • Dikkat: Bu özelliği kullanmak için iki bilgisayarın da bağlı ve açık olması gerekir (her kart gücünü bağlı olduğu bilgisayardan alır).
  • Kodun temizlenmesi, refactor edilmesi vb. gerekiyor.
  • Zaman zaman hatalar ve garip davranışlar yaşanıyor.
  • Farklı cihazlarla test edilmediği için kullanıcının donanımında nasıl çalışacağı bilinmiyor.
  • Pico-PIO-USB, klavye LED kontrolünü desteklemek için patch'lenmiştir; normalde bu iş host modunda TinyUSB tarafından ele alınır.

Feragatname

  • Bu projeyi deneyen herkes, her türlü yaralanma, hasar veya diğer sonuçlardan kendisinin sorumlu olduğunu anlamalı ve kabul etmelidir.
  • Güvenlik önemlidir; gerekli önlemleri almak ve proje boyunca kendi iyiliğinizden sorumlu olmak önemlidir.
  • Elektrik çarpması, yanık, stres veya öfke yaşamadan keyifle çalışmanız ve sürecin tadını çıkarmanız umulur.

GN⁺ görüşü:

  • Bu yazı, iki bilgisayar kullanan kişiler için oldukça faydalı olabilir. Özellikle tek bir klavye ve fareyi paylaşarak çalışma verimliliğini artırmak isteyen kullanıcılar için çekici.
  • Açık kaynak olması ve DIY yaklaşımı, teknolojiye ilgi duyanlar için ilginç bir proje hâline getiriyor. Kullanıcılar sistemi kendi ihtiyaçlarına göre uyarlayıp geliştirebilir.
  • Bu proje, teknik sorunları çözmeye çalışan topluluğun yenilikçi ruhunu gösteriyor. Kullanıcıların sorunlarını kendilerinin çözüp süreci paylaşması, başkalarının da bundan yararlanmasını sağlıyor.

1 yorum

 
GN⁺ 2023-12-28
Hacker News görüşleri
  • İstemci yazılımı olmadan da kenar algılama yapabilmesi dikkat çekici.

    • Fare imlecinin sihirliymiş gibi ekranlar arasında geçmesini sağlamak için fare HID rapor tanımlayıcısı mutlak koordinat kullanacak şekilde değiştiriliyor; göreli hareket olarak gelen fare raporları ise doğru konumu korumak için dahili olarak biriktiriliyor.
    • SynergyKM/Barrier’a benzer şekilde çalışıyor, ancak pano özelliği ya da istemci yazılımı gerektirmiyor.
  • Synergy adlı yazılım çözümünü on yılı aşkın süredir kullanıyorum. Wi‑Fi üzerinden anında geçiş yapıyor ve Windows/Mac/Linux arasında da çalışıyor.

  • YouTube’da kaydırıcıyı belirli bir konuma tam olarak getirmeye çalışırken bazen fare çok hassas hareket ediyor ve elinizi aşırı dikkatli oynatmanız gerekiyor.

    • YouTube’da özel donanım olmadan da virgül (,) ve nokta (.) tuşlarıyla videoda kare kare ileri geri sarabilirsiniz.
  • Windows tarafında, Microsoft Garage tarafından geliştirilen ve artık Windows PowerToys’un bir parçası olan Mouse Without Borders adlı araç kullanılabilir.

  • Benzer başka projelerden ilham alıp kendi sürümünü yapan biri var.

    • Bir program Linux masaüstünde çalışıyor ve Linux giriş alt sisteminden (evdev) giriş olaylarını alıyor. Belirli bir tuşa basıldığında tüm olayları tüketip USB seri bağlantısı üzerinden RPI Pico’ya gönderiyor. Tuşa tekrar basıldığında pasif dinleme moduna geçiyor.
    • RPI Pico, Linux evdev olaylarını USB HID olaylarına çevirip başka bir Windows PC’ye gönderecek şekilde programlanmış.
    • Sonuçta Linux PC ile seçtiğiniz işletim sistemini çalıştıran başka bir PC arasında anında geçiş yapabilen bir KM anahtarına dönüşüyor.
    • Donanım konusunda acemi biri olarak, yalnızca 2 kablo gerektirdiği için bunun diğer donanım acemileri için iyi bir başlangıç projesi olduğunu düşünüyor.
  • Klavye ve fareyi değiştirmek için 4 USB hub satın aldım ama cihazların çoğu o kadar kötüydü ki günde birkaç kez hub’ı fiziksel olarak çıkarıp takmam gerekiyordu.

    • Synergy yazılımını kullanıyorum ve iyi çalışıyor, ancak web kamerası, mikrofon, ses vb. destekleyen düzgün bir KVM istiyorum.
    • KVM kullanıcıları kesinlikle daha iyi çözümleri hak ediyor.
  • İki PC arasında fare ve klavye girişini değiştirmek için bir USB 3.0 anahtarı kullanmak en büyük şikayetlerimden biri.

    • Teams görüşmesi sırasında adınız geçince ya da bir mesaj alınca, Teams’in çalıştığı PC’ye girişi aniden geçirmek için düğmeyi aramaya başlıyorsunuz.
    • ESP32 ya da Rpi Pico W’yi USB anahtarının düğme pinine bağlayıp bir HTTP endpoint’i üzerinden iki makine arasındaki girişi değiştirme fikrim vardı, ancak hangi girişin etkin olduğunu belirlemenin bir yolunu bulamadığım için vazgeçtim.
  • Şu anda bir KVM switch kullanıyorum ve geçiş 2-3 saniye sürdüğü için çoğu zaman diğer bilgisayara SSH ile bağlanıp tmux oturumu kullanıyorum.

  • Bu gerçekten harika bir gelişme.

    • Soldan sağa Lin-Mac-Win kutularını dizdiğim masaüstü düzenini uzun süredir kullanan biri olarak, SoC tasarımlarının son yıllarda yaygınlaşmasıyla bu tür kurulumlar daha da kolaylaştı.
    • Şu anki kurulumum, Shenzhen’den doğrudan gelen 2 adet 250 dolarlık Ryzen SoC Mac-mini kopyası ile bir M1 MBP’den oluşuyor.
    • Bir zamanlar gelişen açık kaynak KVM çözümü dünyasının, ücretsiz çalışan çok platformlu açık kaynak yazılım KVM elde etmeyi zorlaştıran çatalların özyinelemeli bir kâbusuna dönüşmesi üzücü.
    • Mevcut kurulumum iyi, eski usul bir KVM switch kullanıyor ama düğmeye basmak iş akışını bölüyor.
  • Synergy bu sorunu yalnızca yazılımla iyi çözüyor. Ücretsiz ya da açık kaynak değil, ancak nispeten ucuz.