DeskHop – Hızlı masaüstü değiştirme özelliği
(github.com/hrvach)- 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
- Kullanım örneği:
- 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,python3kurulumu gerekir - Varsayılan derleme şu komutlarla yapılır
cmake -S . -B buildcmake --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
.uf2dosyası cihaza kopyalanarak kullanılır
Firmware yükseltme yöntemleri
- Option 1: firmware 0.6 ve sonrasında
left ctrl + right shift + c + oile config mode’a girilir- Klavyenin bağlı olduğu taraftaki cihaz yeniden başlar ve
DESKHOPadlı USB sürücüsü olarak görünür .uf2dosyası 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
- Klavyenin bağlı olduğu taraftaki cihaz yeniden başlar ve
- 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
.uf2kopyalanır - Option 3: Debug derlemede
DH_DEBUG_CDC_FLASH=ONile derlenmişse CDC seri komutuyla bootloader mode’a girilebilirecho -n 'flash' > /dev/tty.usbmodem11104
Ek özellikler
-
Mouse slowdown
right CTRL + right ALTile 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 + Kile mevcut ekrana kilitlenir- Yanlışlıkla başka ekrana geçmeyi önler
-
Lock Both Screens
RIGHT CTRL + Lile iki bilgisayar aynı anda kilitlenebilir- Her çıkışın işletim sisteminin ayarlanması gerekir
-
Gaming Mode
LEFT CTRL + RIGHT SHIFT + Gile 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
ADuM1201yaklaşık 3€’dur - TI
ISO7721DRyaklaşık 1.5€’dur; daha ucuz, daha hızlı ve pin uyumlu olduğu için tercih edilir
- Analog Devices
- 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
- ESD koruması
- 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 girRight Shift + F12 + D: flash ayarlarını kaldırRight Shift + F12 + Y: ekran geçiş ofsetini kaydetRight CTRL + Right ALT: yavaş fare modunu aç/kapatRight CTRL + K: fareyle masaüstü geçişini kilitle/kilidi açRight CTRL + L: iki çıkışı aynı anda kilitleLeft CTRL + Right Shift + G: gaming mode’u aç/kapatLeft CTRL + Right Shift + S: screensaver’ı etkinleştirLeft CTRL + Right Shift + X: screensaver’ı devre dışı bırakLeft 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 + Otuşlarına basıldığında cihaz yeniden başlar ve ayar moduna girerDESKHOPadlı bir USB sürücüsü görünür ve içinde tek birconfig.htmdosyası 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
- Barrier: ücretsiz, açık kaynaklı
- Input Leap: ücretsiz, açık kaynaklı
- Synergy: ticari
- Mouse Without Borders: ücretsiz, yalnızca Windows
- Universal Control: Apple özelliği
Bilinen sınırlamalar ve planlar
- Windows 10
KB5003637sonrası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
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
Ö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 ilerlenebiliyorDokunmatik arayüzde hassas seçimi kaydırıcıyla yapmak gerçekten berbat
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
Ancak şimdi baktığımda bakımı durdurulmuş; ardılı Input Leap
https://github.com/debauchee/barrier
https://github.com/input-leap/input-leap
Ö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
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
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
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
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
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.
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.
Ö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...
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.
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.
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.
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.
Birilerinin hataya yol açan ince noktayı kurcalaması için nerd sniping yapmış olursunuz.
Olduğu gibi sağlanan kaynak burada: https://github.com/null-dev/picokvm
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.
Ş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
İkisi de açık kaynak
[0] https://github.com/debauchee/barrier
[1] https://github.com/input-leap/input-leap
1.9 sürümünde ayrılan açık kaynak bir fork da var: https://github.com/debauchee/barrier#what-is-it
Ö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
Tüm çözümler yalnızca masaüstü işletim sistemlerinde çalışıyor gibi görünüyor
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
Benim için anlaşmayı bozan bir şart
boundless, borderless, roaming KM switch diye aratabilirsiniz