- DeskHop adalah proyek hardware open-source yang, saat dua komputer berbagi satu keyboard/mouse, menggantikan switch USB berbasis tombol dengan hotkey dan perpindahan pointer mouse untuk mengalihkan target input dengan cepat
- Perangkat ini berperan sebagai USB Host/Device di antara keyboard/mouse dan dua komputer, menjaga koneksi ke keduanya secara bersamaan, lalu meneruskan gerakan mouse dan input tombol ke output yang dipilih
- Perpindahan mouse dilakukan dengan mengubah HID report descriptor menjadi koordinat absolut dan secara internal mengakumulasi perpindahan relatif, sehingga saat melewati batas layar, kursor muncul di layar komputer lain pada ketinggian yang sama
- Fitur utamanya mencakup tanpa latensi yang terasa, tanpa instalasi software, dukungan Linux/macOS/Windows, komponen di bawah 15€, casing cetak 3D, dan isolasi galvanik antar-output
- Keterbatasannya juga jelas: setelah Windows 10 KB5003637 ada masalah koordinat absolut untuk multi-layar, multi-layar macOS memerlukan workaround eksperimental, dan kompatibilitas dengan keyboard canggih, mouse dengan banyak tombol, serta berbagai perangkat tidak dijamin
Switch hardware untuk berpindah cepat di antara dua komputer
- DeskHop adalah proyek yang berangkat dari use case pengguna yang memakai dua komputer setiap hari dan ingin berbagi satu keyboard/mouse
- Proyek ini berupaya memecahkan masalah kotak switching USB lama yang membutuhkan waktu untuk berpindah dan merepotkan karena harus mencari tombol
- Perilaku yang diinginkan ada dua
- Berpindah output dengan hotkey keyboard
- Berpindah otomatis saat pointer mouse diseret melewati monitor
- Dirancang agar berfungsi juga di antara komputer yang memakai sistem operasi berbeda
- Tersedia User Manual
Fitur utama
- Sepenuhnya gratis dan open-source, serta mendapat sertifikasi Open Source Hardware
- Tidak ada latensi yang terasa saat berpindah
- Pointer mouse bisa diseret berpindah di antara komputer
- Tidak perlu menginstal software terpisah di komputer
- Biaya komponen disebut di bawah 15€
- Menggunakan casing snap-fit yang bisa dicetak 3D
- Menyediakan isolasi galvanik penuh antar-output
- Berjalan di Linux, macOS, dan Windows
Cara kerja
- Perangkat bertindak sebagai perangkat perantara antara keyboard/mouse dan komputer
- Koneksi ke dua komputer dibuat dan dipertahankan secara bersamaan
- Berdasarkan status pilihan saat ini, perangkat menentukan ke komputer mana gerakan mouse dan input tombol akan diteruskan
- Keyboard mengikuti mouse, dan mouse juga mengikuti status perpindahan keyboard
- Saat mouse diseret ke desktop lain, target input keyboard ikut berpindah
Implementasi perpindahan mouse
- Untuk menciptakan sensasi kursor mouse berpindah di antara layar, HID report descriptor diubah ke mode koordinat absolut
- Laporan mouse sebenarnya tetap masuk sebagai perpindahan relatif, lalu perangkat mengakumulasikannya secara internal untuk mengelola posisi saat ini
- Saat kursor mencoba keluar dari area layar saat ini ke arah monitor lain, perangkat mempertahankan koordinat Y, mengubah koordinat X ke batas sisi seberang, lalu mengganti output
- Dengan cara ini kursor muncul di layar komputer lain pada ketinggian yang sama, sehingga perpindahan terlihat alami
- Perpindahan sebenarnya terjadi pada momen ketika panah di satu sisi berhenti dan panah di sisi lain mulai bergerak
Perpindahan keyboard dan status LED
- Perangkat bekerja sebagai USB Host dan secara berkala melakukan polling keyboard
- Jika menemukan hotkey yang sudah diatur di HID report, karakter berikutnya diteruskan ke output lain
- Contoh penggunaan:
Ctrl + Caps Lock
- Contoh penggunaan:
- LED keyboard bisa dimanfaatkan ulang untuk menunjukkan output mana yang sedang digunakan
- Karena status LED tiap komputer diingat, status sebelumnya bisa dilanjutkan apa adanya
Build dan pembaruan firmware
- Untuk mengurangi ketidaksesuaian versi dan masalah path, serta menghindari unduhan SDK besar, pico sdk minimal dan tinyusb disertakan bersama
- Di Debian/Ubuntu, perlu memasang
build-essential,cmake,gcc-arm-none-eabi,libnewlib-arm-none-eabi,python3 - Build dasar dilakukan dengan perintah berikut
cmake -S . -B buildcmake --build build
- Build yang reproducible menggunakan Docker juga disediakan
docker-compose -f misc/docker.yml run --rm build_container
- Bisa juga menggunakan pre-built images
- Mulai versi 0.6, tersedia satu image universal
- Digunakan dengan menyalin file
.uf2ke perangkat
Cara upgrade firmware
- Option 1: pada firmware 0.6 atau lebih baru, masuk ke config mode dengan
left ctrl + right shift + c + o- Perangkat di sisi yang terhubung ke keyboard akan reboot dan muncul sebagai drive USB bernama
DESKHOP - Jika file
.uf2disalin, setelah verifikasi image perangkat akan melakukan flash dan reboot, lalu upgrade board lain juga dilanjutkan - Drive ini bukan perangkat penyimpanan USB biasa, sehingga tidak bisa dipakai untuk menyalin file
- Perangkat di sisi yang terhubung ke keyboard akan reboot dan muncul sebagai drive USB bernama
- Option 2: gunakan ROM bootloader dengan menyambungkan tiap Pico sambil menekan tombol board, lalu salin
.uf2ke flash drive yang muncul - Option 3: jika build debug dibuat dengan
DH_DEBUG_CDC_FLASH=ON, perangkat bisa masuk bootloader mode melalui perintah serial CDCecho -n 'flash' > /dev/tty.usbmodem11104
Fitur tambahan
-
Mouse slowdown
- Mode mouse lambat di-toggle dengan
right CTRL + right ALT - Menurunkan kecepatan pointer secara drastis saat perlu penyesuaian posisi yang presisi
- Mode mouse lambat di-toggle dengan
-
Switch Lock
- Mengunci ke layar saat ini dengan
RIGHT CTRL + K - Mencegah kursor tidak sengaja berpindah ke layar lain
- Mengunci ke layar saat ini dengan
-
Lock Both Screens
- Bisa mengunci dua komputer sekaligus dengan
RIGHT CTRL + L - Sistem operasi tiap output perlu diatur
- Bisa mengunci dua komputer sekaligus dengan
-
Gaming Mode
- Di-toggle dengan
LEFT CTRL + RIGHT SHIFT + G - Terkunci ke layar saat ini dan mouse bekerja seperti mouse koordinat relatif standar
- Mode ini ditujukan untuk menangani game, virtual machine, dan sistem operasi yang saat ini belum didukung yang tidak cocok dengan mode mouse absolut
- Di-toggle dengan
-
Screensaver
- Default-nya mati
- Jika diaktifkan, setelah waktu tidak aktif berlalu pointer mouse akan memantul di layar seperti bola Pong
- Otomatis mati jika input dikirim ke layar tersebut
Konfigurasi hardware
- Rangkaian berbasis dua board Raspberry Pi Pico
- Pico dipilih karena murah, 4,10€ per unit, bisa disolder tangan, dan mudah didapat
- Dua Pico terhubung lewat UART
- Kedua sisi dipisahkan dengan digital isolator
- Analog Devices
ADuM1201sekitar 3€ - TI
ISO7721DRsekitar 1,5€, lebih murah, lebih cepat, dan pin-compatible sehingga lebih disukai
- Analog Devices
- RP2040 secara default tidak mendukung dual USB, tetapi lewat Pico-PIO-USB, USB diimplementasikan dengan PIO sehingga bisa menjalankan peran USB Host dan Device sekaligus
PCB dan casing
- Untuk memudahkan pembuatan DIY, trace PCB ditempatkan di satu sisi dan jumlah komponen diminimalkan
- Jalur diferensial USB D+/D- pada prinsipnya harus sama panjang, tetapi sengaja dirancang sedikit asimetris untuk mengompensasi perbedaan panjang trace GPIO pada PCB Pico
- Target impedansi diferensial adalah 90Ω, dan realisasinya sekitar 107Ω
- Ketebalan PCB dirancang 1,6mm agar cocok dengan casing snap-fit
- PCB v1.1 menambahkan hal berikut dibanding v1.0
- Proteksi ESD
TPD4E1U06DBVR - Kapasitor VBUS untuk konektor keyboard/mouse
- Penanda arah pada silkscreen
- Lubang dan perbaikan alignment untuk board klon dengan header yang sudah disolder
- Resistor USB 27Ω
- Proteksi ESD
- v1.1 sedikit lebih sulit disolder tangan karena IC TVS kecil dan resistor 0805
- Casing tersedia di case, memakai sekitar 33g filamen, dan bisa dicetak dalam beberapa jam
- Terpasang dengan struktur snap-fit tanpa sekrup, dan pada tutup ada slot yang bisa dibuka dengan obeng
Biaya dan komponen
- Total BOM PCB v1.1 disebut 11,22€
- Komponen utamanya sebagai berikut
- 2 Raspberry Pi Pico: 8,20€
- 2 konektor PCB USB-A: 0,40€
- 1 TI ISO7721DR: 1,40€
- 2 kapasitor 100nF: 0,18€
- 4 resistor 27Ω: 0,12€
- 2 TPD4E1U06DBVR: 0,62€
- 2 kapasitor 4.7uF: 0,14€
- 2 header 2.54mm 1x03: 0,16€
- Selain itu perlu pembuatan PCB, dan Gerber disediakan
- File STL untuk cetak 3D juga disediakan
Hotkey penggunaan dan pengaturan
- Berdasarkan firmware 0.68 atau lebih baru, hotkey utama adalah sebagai berikut
Left Ctrl + Right Shift + C + O: masuk config modeRight Shift + F12 + D: hapus pengaturan flashRight Shift + F12 + Y: simpan offset perpindahan layarRight CTRL + Right ALT: toggle mode mouse lambatRight CTRL + K: kunci/buka kunci perpindahan desktop mouseRight CTRL + L: kunci kedua output sekaligusLeft CTRL + Right Shift + G: toggle gaming modeLeft CTRL + Right Shift + S: aktifkan screensaverLeft CTRL + Right Shift + X: nonaktifkan screensaverLeft CTRL + Caps Lock: pindah output
- Hotkey diubah karena sebagian keyboard tidak mengirim input kedua Shift secara bersamaan dengan benar
Mode pengaturan web
- Mulai firmware 0.6, configuration mode yang diperbaiki diperkenalkan
- Saat menekan
Left Ctrl + Right Shift + C + O, perangkat reboot dan masuk ke mode pengaturan - Drive USB bernama
DESKHOPmuncul, dengan satu fileconfig.htmdi dalamnya - File ini harus dibuka di Chromium atau Chrome
- Firefox menghindari implementasi WebHID sehingga saat ini tidak didukung
- Setelah mengizinkan koneksi, opsi dapat diatur dan disimpan, lalu akan ditulis ke perangkat
- Alasan memakai metode file lokal alih-alih halaman pengaturan online adalah karena memuat JavaScript yang berinteraksi dengan perangkat input dari lokasi online acak merupakan potensi risiko keamanan
- Halaman web pengaturan menggunakan metode dekompresi mandiri karena keterbatasan ruang penyimpanan, dan seluruh source disertakan di repositori
Desain keamanan dan keselamatan
- Tidak ada fungsi copy/paste atau berbagi informasi antar-sistem
- Ini adalah batasan yang disengaja untuk mencegah kebocoran informasi
- Tidak ada koneksi masuk dari komputer output
- Pengecualiannya adalah pesan on/off LED keyboard standar, yang dibatasi pada data 1 byte
- Komputer output tidak dapat memicu upgrade firmware
- Hanya tindakan pengguna eksplisit melalui hotkey khusus yang diizinkan
- Tidak mengekspos endpoint kustom keyboard/mouse yang terhubung atau meneruskan informasi ke sisi perangkat
- Tidak menyimpan riwayat input
- Perangkat tidak membuat input tombol secara arbitrer
- Hanya yang diketik atau dipicu pengguna yang dikeluarkan
- Output dipisahkan secara fisik dan menggunakan isolasi galvanik dengan tegangan isolasi minimal 2kV
- Paket antar-perangkat memiliki panjang tetap, dan opsi pengaturan yang dikirim dibatasi pada daftar pendek
- Tidak ada Bluetooth, Wi-Fi, jaringan, atau akses internet
- Komputer yang terhubung tidak pernah dianggap sebagai pihak tepercaya dalam kondisi apa pun
- Mode pengaturan otomatis mati setelah tidak aktif selama beberapa waktu
- Kode tersedia sebagai open-source tanpa binary blob
FAQ dan kompatibilitas
- Perangkat bisa berjalan hanya dengan dua Pico tanpa PCB dan isolator, tetapi penggunaan isolator direkomendasikan
- Perpindahan mouse pada resolusi monitor berbeda pun seharusnya berjalan karena diproses dalam ruang koordinat abstrak dan komputer memetakannya ke layar fisik
- Ini bukan produk untuk dijual, melainkan proyek hobi pribadi non-komersial
- Ada pembaruan bahwa Elecrow menyediakan pesanan satuan untuk PCB, PCB rakitan, dan perangkat jadi
- Menurut laporan pengguna, board datang dalam keadaan kosong dan firmware harus ditulis sendiri
- Dongle kombinasi keyboard/mouse seperti Logitech Unifying disebut makin baik dukungannya setelah pembaruan firmware terbaru
- Mouse dan keyboard nirkabel yang memakai receiver nirkabel terpisah berjalan normal dalam pengujian mouse nirkabel Anker
- Masalah build bisa merujuk ke Troubleshooting Wiki
Alternatif software
- Barrier: gratis, open-source
- Input Leap: gratis, open-source
- Synergy: komersial
- Mouse Without Borders: gratis, khusus Windows
- Universal Control: fitur Apple
Keterbatasan yang diketahui dan rencana
- Setelah Windows 10
KB5003637, perilaku koordinat absolut HID rusak sehingga tidak bisa memakai lebih dari 1 layar di Windows- Mouse tetap berada di layar utama; ada workaround eksperimental dan workaround yang lebih baik sedang dikembangkan
- Kode perlu dirapikan dan di-refactor
- Karena belum cukup diuji pada berbagai perangkat, ada kemungkinan tidak langsung berjalan tergantung hardware
- Pada keyboard canggih dengan knob, tombol tambahan, atau slider, hardware tambahan tersebut mungkin tidak berfungsi
- Pada mouse modern dengan sangat banyak tombol, sebagian tombol mungkin tidak berfungsi seperti yang diharapkan
- Kedua komputer harus terhubung dan memasok daya USB agar perangkat berjalan
- Karena tiap board mendapat daya dari komputer yang terhubung dengannya
- macOS bermasalah pada 2 layar atau lebih, dan firmware terbaru menyediakan workaround eksperimental untuk ini
- Fitur yang direncanakan mencakup perbaikan workaround multi-layar Windows/macOS, mode transparan/gaming, dukungan lebih dari 2 output, dan peningkatan UI pengaturan
- Versi lite yang menyediakan fungsi dasar hanya dengan satu board Pico W juga sedang dikerjakan
- Polling mouse saat ini dapat berjalan pada 1000Hz
1 komentar
Pendapat di Hacker News
Bagus karena bisa mendeteksi tepi layar tanpa perangkat lunak klien
Caranya adalah dengan mengubah descriptor laporan HID mouse menjadi koordinat absolut agar kursor mouse bisa berpindah secara alami, lalu secara internal mengakumulasi laporan mouse yang sebenarnya masuk sebagai gerakan relatif untuk menjaga posisi yang akurat
Jadi, ini bekerja seperti synergykm / Barrier tanpa fitur clipboard dan tanpa perangkat lunak klien
Misalnya skrip otomasi atau game yang mengunci kursor di tengah layar
Di YouTube, bahkan tanpa perangkat keras terpisah, video bisa digeser per frame dengan tombol
,dan.Melakukan pilihan presisi dengan slider di antarmuka sentuh benar-benar buruk
Saya tidak tahu siapa yang lebih dulu, tetapi saya mengetahuinya dari mpv, lalu iseng menekannya di YouTube dan ternyata berfungsi
Di Windows, Anda bisa memakai Mouse Without Borders, yang dikembangkan oleh Microsoft Garage dan kini termasuk dalam Windows PowerToys
Tautan:
https://www.microsoft.com/en-us/garage/profiles/mouse-without-borders
https://github.com/microsoft/PowerToys
Namun, setelah saya lihat sekarang pemeliharaannya sudah dihentikan, dan penerusnya adalah Input Leap
https://github.com/debauchee/barrier
https://github.com/input-leap/input-leap
Terutama jadi mudah menyeret dan melepas file untuk menyalinnya antar komputer
Saya membeli sampai 4 USB hub untuk berpindah keyboard dan mouse, tetapi sebagian besar perangkatnya sangat berantakan sehingga menjengkelkan
Dalam sehari ada kalanya saya harus mencabut dan memasang kembali hub secara fisik berkali-kali, dan menjadi lebih buruk lagi jika webcam atau mikrofon USB ikut terhubung
Synergy memang saya pakai dengan baik, tetapi saya membutuhkan KVM yang benar-benar layak yang bisa menangani webcam, mikrofon, dan audio dengan benar, serta bisa memindahkan hanya kelompok perangkat yang terhubung lewat pintasan keyboard
Pengguna KVM jelas masih kurang mendapat dukungan
Setiap input DisplayPort memiliki port USB yang terkait, sementara USB-C menangani periferal, input display, sekaligus keluaran daya yang cukup lumayan
Perpindahan dilakukan dengan sakelar kecil di meja, dan monitor tetap membuat input yang tidak sedang ditampilkan tampak seolah masih terhubung, sehingga Windows tidak berkedip-kedip karena harus menata ulang, dan perpindahannya jauh lebih cepat serta mulus
Rasanya ini kasus penggunaan yang umum, jadi sayang sekali
Memang bisa dikeluarkan dulu lewat dock, tetapi resolusi monitor yang saya pakai tinggi sehingga sebagian besar dock kewalahan atau hanya mendukung 30Hz
Mac tersambung dengan satu kabel Thunderbolt 4, sedangkan PC memakai HDMI 2.1 dan upstream USB3 10Gbps
Saya menghubungkan ethernet serta keyboard/mouse ke monitor, lalu berpindah ke perangkat yang tepat lewat pintasan keyboard atau OSD monitor
Dengan fitur PIP, dua perangkat juga bisa dilihat sekaligus
Batasannya hanya ada pada host controller USB 2, sehingga perangkat berkecepatan tinggi seperti beberapa webcam sulit dipindahkan
Jika harus mencampur produk Apple, karena Apple tidak menyukai MST, Anda perlu memakai dua kabel USB3 fisik di Mac untuk membedakan dua kanal display
Saya memakainya dengan mencolokkan USB drive untuk memindahkan file dengan cepat, dan pada umumnya perangkat yang berjalan dengan daya USB akan berfungsi
Jika memilih USB 3+, DP, dan sejenisnya memang mahal, tetapi ada juga model murah yang hanya memindahkan USB
Namun, kelemahan besarnya adalah beberapa mouse dan keyboard dengan tombol khusus tidak bekerja 100%
Saya sudah memakai Synergy untuk keperluan ini selama lebih dari 10 tahun
https://symless.com/synergy cepat, langsung berpindah bahkan lewat Wi-Fi, dan mendukung Windows/Mac/Linux semuanya
Dua yang terakhir gratis dan open source, sementara Synergy punya cara yang bagus untuk mengonfigurasi batas antarperangkat
Namun, solusi apa pun akan lebih baik kalau mendukung tata letak monitor kustom dengan benar
Di lingkungan saya, monitor tidak tersusun segaris dan tiap monitor bisa berpindah ke tiap perangkat secara independen, jadi akan hebat kalau bisa menentukan batas per monitor dan per perangkat, tetapi sepertinya baik perangkat lunak maupun perangkat keras belum ada yang begitu
Baru-baru ini saya bertanya ke Synergy, dan mereka bilang itu ada di roadmap sebagai permintaan fitur populer; semoga segera hadir
Tidak perlu login ke komputer terlebih dahulu, dan bisa berpindah dengan melewati tepi layar atau kombinasi tombol
Perangkat USB yang tersambung juga bisa dialihkan secara independen dari keyboard dan mouse
Produk seperti ini kadang disebut boundless, borderless, atau roaming KM switch
https://www.cdw.com/product/siig-4-port-roaming-km-switch-wi...
Secara pribadi, ini bekerja jauh lebih baik daripada Synergy
Saya beralih setelah para pengembang Synergy tidak menanggapi bug yang sudah bertahun-tahun ada sampai tidak bisa saya pakai lagi
Contoh: https://github.com/symless/synergy-core/issues/5992
Kekurangannya, kalau ingin tetap mendapat pembaruan setelah 1 tahun, harus melakukan “perpanjangan pemeliharaan”, tetapi sejauh ini saya masih memakainya dengan baik walau belum memperpanjang
Setelah dicek, konfigurasinya sudah berjalan 4–5 tahun tanpa masalah, dan termasuk perangkat lunak berbayar yang nilainya sangat tinggi
Keamanan harus menjadi default dan gratis di semuanya; itu bukan kemewahan, melainkan syarat minimum
Meski begitu, kalau dicoba dan ternyata bagus, saya mungkin akan membeli lisensi premium karena fitur salin-tempelnya
Ada proyek yang saya buat, terinspirasi dari proyek serupa https://github.com/jfedor2/screen-hopper
Versi yang saya buat sendiri terdiri dari dua program
Satu berjalan di desktop Linux, mendengarkan event input dari evdev, subsistem input Linux, lalu saat tombol tertentu ditekan, ia mengonsumsi semua event dan mengirimkannya ke RPI Pico melalui serial USB
Jika ditekan lagi, ia kembali ke mode mendengarkan manual
RPI Pico mengubah event Linux evdev yang diterima lewat serial menjadi event USB HID dan mengirimkannya ke PC Windows lain
Hasilnya adalah KM switch yang bisa langsung berpindah antara PC Linux dan PC dengan OS apa pun
Foto perkabelan: https://ibb.co/m0zhzgz
Saya memakai Pico lain sebagai adaptor serial USB, dan sebagai pemula hardware, fakta bahwa hanya perlu 2 kabel benar-benar melegakan
Kedua program masing-masing kurang dari 100 baris, dan ada banyak crate Rust serta paket Python untuk mendengarkan Linux evdev
Sisi Pico juga lebih mirip loop dengan statement switch besar, dan ada crate Rust untuk mengirim event USB HID
Dengan COBS, event bisa dikirim lewat serial tanpa perlu khawatir soal framing
Pada akhirnya saya tidak merilisnya sebagai open source karena bug serial USB: setelah koneksi terputus, ia tidak tersambung kembali dengan benar ke desktop Linux
Saya tidak tahu apakah penyebabnya Linux atau Pico, dan karena kabelnya tidak saya cabut, sampai sekarang masih saya pakai tanpa masalah
Karena saya banyak bermain game FPS, fitur koordinat absolut sengaja saya hilangkan, dan tombol pindah saya ikat ke tombol samping mouse sehingga bisa berganti sistem tanpa menyentuh keyboard
Saya baru tahu proyek screen-hopper kemarin, dan rasanya seperti membuktikan teori bahwa apa pun yang ingin dibuat, selalu ada seseorang yang lebih pintar sudah membuatnya dengan lebih baik
Karena saya sama sekali tidak bermain game, koordinat absolut juga tidak masalah, tetapi di daftar tugas saya ada item untuk membuatnya bisa dikonfigurasi
Bisa nerd-snipe seseorang agar menyelidiki detail halus yang menyebabkan bug tersebut
Sumber yang disediakan apa adanya ada di sini: https://github.com/null-dev/picokvm
Salah satu keluhan besar saya adalah mengganti input mouse dan keyboard antara dua PC dengan switch USB 3.0
Saat rapat Teams dan saya tidak banyak bicara, kalau seseorang memanggil nama saya atau mengirim pesan, saya jadi panik mencari tombol untuk mengalihkan input ke PC yang menjalankan Teams
Saya sempat membayangkan menghubungkan ESP32 atau Rpi Pico W dan beberapa optocoupler ke pin tombol switch USB, lalu mengekspos endpoint HTTP agar skrip AutoHotkey dan shortcut bisa men-toggle input dua perangkat
Namun saya menyerah karena tidak terpikir cara menentukan input yang sedang aktif saat ini, dan saya suka solusi ini
Headset Logitech yang saya dapat dari kantor punya tombol volume, akhiri panggilan, dan mute di kabelnya, sehingga jauh lebih mudah melepas mute saat multitasking
Synergy menangani penggunaan seperti ini dengan baik sebagai perangkat lunak murni
Memang tidak gratis atau open source, tetapi relatif murah
https://symless.com/synergy
Keduanya open source
[0] https://github.com/debauchee/barrier
[1] https://github.com/input-leap/input-leap
Ada juga fork open source yang bercabang dari versi 1.9: https://github.com/debauchee/barrier#what-is-it
Misalnya, jika menggunakan host macOS, pada klien Windows/Linux ia memakai kurva akselerasi macOS untuk menghitung posisi kursor, tetapi tidak memakainya untuk pergerakan kursor sebenarnya
Akibatnya, saat mencoba bekerja di sepertiga area layar Windows yang dekat dengan host, kursor tanpa sengaja kembali menyeberang
Sepertinya semua solusi hanya berjalan di OS desktop
Tidak satu pun teknologi seperti ini yang stabil, dan Synergy pernah beberapa kali sampai membuat keyboard yang terhubung berhenti berfungsi, sehingga komputer harus dimatikan lalu dinyalakan lagi agar merespons
Benar-benar luar biasa
Terutama terasa begitu bagi saya yang setidaknya selama 20 tahun memakai konfigurasi desktop dengan boks Linux-Mac-Windows dari kiri ke kanan
Jika dalam bahasa pemrograman ada kemampuan multibahasa, maka di hardware ada konfigurasi multiplatform
Untungnya, dalam beberapa tahun terakhir ini menjadi lebih mudah seiring meningkatnya desain system-on-chip (SoC)
Konfigurasi saya saat ini adalah dua tiruan Mac mini Ryzen SoC seharga 250 dolar dari Shenzhen dan sebuah M1 MBP
Sayangnya, dunia solusi KVM open source seperti Synergy yang dulu tangguh telah berubah menjadi mimpi buruk fork rekursif, sehingga sulit mendapatkan KVM perangkat lunak open source multiplatform yang berfungsi gratis
Sekarang akhirnya saya memakai switch KVM lama, tetapi menekan tombol membuat konsentrasi buyar
Suatu saat saya ingin mencoba hal seperti ini lagi
Jika ada yang mau bekerja sama untuk mengomersialkan ini, saya bersedia menanggung biaya dan menangani injeksi plastik, pemasaran, perakitan massal, serta pekerjaan lain yang diperlukan
Email ada di profil
Bagi saya itu syarat yang membatalkan transaksi
Coba cari dengan kata kunci boundless, borderless, roaming KM switch