منصوبے کے بارے میں
DeskHop ایک ہارڈویئر پروجیکٹ ہے جو دو کمپیوٹرز کے درمیان ایک کی بورڈ اور ماؤس شیئر کرنے کے لیے ہے۔ USB سوئچ باکس کے بجائے، یہ peripherals اور دونوں مشینوں کے درمیان بیٹھتا ہے، ہر ایک سے بیک وقت کنکشن برقرار رکھتا ہے اور منتخب آؤٹ پٹ کو ان پٹ آگے بھیجتا ہے۔
یہ کیسے کام کرتا ہے: ڈیوائس کی بورڈ/ماؤس کے لیے USB ہوسٹ اور ہر کمپیوٹر کی طرف USB ڈیوائس کے طور پر کام کرتی ہے۔ ماؤس HID رپورٹ ڈسکرپٹر کو absolute coordinates میں تبدیل کیا جاتا ہے، جبکہ آنے والی relative movements کو اندرونی طور پر جمع کر کے پوزیشن ٹریک کی جاتی ہے۔ جب پوائنٹر ایک اسکرین کے کنارے تک پہنچتا ہے، Y کوآرڈینیٹ برقرار رکھا جاتا ہے اور X رینج تبدیل کر دی جاتی ہے، تاکہ کرسر دوسرے مانیٹر پر اسی اونچائی پر ظاہر ہو اور آؤٹ پٹس پلٹ جائیں۔ ایک قابل ترتیب ہاٹ کی (عام طور پر Ctrl + Caps Lock) کی بورڈ سوئچ کرتی ہے، اور کی بورڈ LEDs فعال آؤٹ پٹ ظاہر کر سکتے ہیں؛ فی کمپیوٹر LED حالت یاد رکھی جاتی ہے۔
پروجیکٹ کی فہرست میں شامل خصوصیات: کوئی نمایاں سوئچنگ تاخیر نہیں، کمپیوٹرز کے درمیان کرسر ڈریگ، کوئی سافٹ ویئر انسٹال نہیں، تقریباً 15 EUR سے کم اجزاء، 3D-printable snap-fit کیس، آؤٹ پٹس کے درمیان مکمل galvanic isolation، اور Linux، macOS اور Windows کے لیے سپورٹ۔ یہ certified open-source hardware ہے۔
ہارڈویئر: دو Raspberry Pi Pico بورڈز UART پر جڑے ہوئے اور digital isolator (ADuM1201 یا pin-compatible TI ISO7721DR) سے الگ کیے گئے۔ Dual USB role سپورٹ Pico-PIO-USB پروجیکٹ سے آتی ہے۔ PCB v1.1 میں ESD تحفظ، VBUS capacitors، silkscreen markings اور USB series resistors شامل ہیں؛ Gerber فائلیں اور STL کیس فائلیں فراہم کی گئی ہیں۔ ایک bill of materials تقریباً 11 EUR کے پرزے درج کرتا ہے۔
تعمیر: ریپوزٹری میں minimal Pico SDK اور TinyUSB شامل ہیں۔ Debian/Ubuntu پر، build-essential، cmake، gcc-arm-none-eabi، libnewlib-arm-none-eabi اور python3 انسٹال کریں، پھر cmake configure اور build چلائیں؛ reproducible builds کے لیے Docker Compose پیش کیا گیا ہے۔ پہلے سے تیار .uf2 امیجز releases میں شائع ہوتی ہیں۔ فرم ویئر کو config mode (Left Ctrl + Right Shift + C + O) میں داخل ہو کر اپ ڈیٹ کیا جا سکتا ہے، جو DESKHOP نامی USB ڈرائیو ظاہر کرتا ہے، یا ROM bootloader کے ذریعے، یا debug builds میں CDC flash کمانڈ کے ذریعے۔
اضافی خصوصیات میں slow-mouse toggle (Right Ctrl + Right Alt)، switch lock (Right Ctrl + K)، دونوں آؤٹ پٹس کو لاک کرنا (Right Ctrl + L)، gaming mode جو relative mouse movement استعمال کرتا ہے (Left Ctrl + Right Shift + G)، اور ایک اختیاری screensaver شامل ہیں۔ غلط ترتیب یا مختلف سائز کے مانیٹر کے لیے کرسر اونچائی کیلیبریشن دستیاب ہے۔ ایک ویب کنفیگریشن صفحہ ڈیوائس سے مقامی طور پر پیش کیا جاتا ہے اور WebHID کے ذریعے Chromium/Chrome میں کھولا جاتا ہے؛ پروجیکٹ نوٹ کرتا ہے کہ Firefox تعاون یافتہ نہیں ہے۔ فی آؤٹ پٹ متعدد اسکرینوں کے لیے OS اور اسکرین کی تعداد سیٹ کرنے کی ضرورت ہوتی ہے، اور انہیں تجرباتی قرار دیا گیا ہے۔
سیکورٹی انتخاب جان بوجھ کر ہیں: سسٹمز کے درمیان کوئی کلپ بورڈ یا ڈیٹا شیئرنگ نہیں، آؤٹ پٹس سے معیاری کی بورڈ LED پیغامات کے علاوہ کوئی inbound connectivity نہیں، آؤٹ پٹس سے کوئی فرم ویئر اپ گریڈ متحرک نہیں، کوئی برقرار رکھی گئی ان پٹ ہسٹری نہیں، کوئی ڈیوائس سے شروع کیے گئے کی اسٹروک نہیں، fixed-length inter-device packets، کوئی نیٹ ورکنگ نہیں، اور inactivity کے بعد config mode سے خودکار اخراج۔ کوڈ مکمل طور پر کھلا ہے جس میں کوئی binary blobs نہیں۔
معروف حدود: Windows 10 build KB5003637 نے HID absolute coordinates کو توڑ دیا، اس لیے Windows پر ایک سے زیادہ اسکرینیں تجرباتی ورک اراؤنڈ کے بغیر مشکل ہیں؛ macOS multi-screen سپورٹ بھی تجرباتی ہے؛ اضافی کنٹرولز والے جدید کی بورڈز اور ماؤسز مکمل طور پر کام نہیں کر سکتے؛ دونوں کمپیوٹرز کو منسلک اور USB پاور فراہم کرنا ضروری ہے؛ اور مصنف نوٹ کرتا ہے کہ کوڈ کو صفائی اور وسیع ڈیوائس ٹیسٹنگ کی ضرورت ہے۔ ذکر کردہ سافٹ ویئر متبادلات میں Barrier، Input Leap، Synergy، Mouse Without Borders اور Universal Control شامل ہیں۔ منصوبہ بند کام میں بہتر multi-screen ورک اراؤنڈز، transparent/gaming mode، دو سے زیادہ آؤٹ پٹس کے لیے سپورٹ، کنفیگریشن UI بہتری، اور ایک single-Pico "lite" ورژن شامل ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.