প্রকল্প সম্পর্কে
DeskHop একটি হার্ডওয়্যার প্রকল্প, যা দুটি কম্পিউটারের মধ্যে একটি কীবোর্ড ও মাউস শেয়ার করে। USB সুইচ বক্সের বদলে এটি পেরিফেরাল ও দুই মেশিনের মাঝে বসে, উভয়ের সঙ্গে সংযোগ ধরে রাখে এবং নির্বাচিত আউটপুটে ইনপুট পাঠায়।
এটি যেভাবে কাজ করে: ডিভাইসটি কীবোর্ড/মাউসের জন্য USB হোস্ট এবং প্রতিটি কম্পিউটারের দিকে USB ডিভাইস হিসেবে কাজ করে। মাউসের HID রিপোর্ট ডেসক্রিপ্টরকে পরম স্থানাঙ্কে বদলানো হয়, আর আসা আপেক্ষিক নড়াচড়া অভ্যন্তরীণভাবে জমিয়ে অবস্থান ট্র্যাক করা হয়। পয়েন্টার এক স্ক্রিনের প্রান্তে পৌঁছালে Y স্থানাঙ্ক রাখা হয় ও X পরিসীমা অদলবদল করা হয়, ফলে কার্সর অন্য মনিটরের একই উচ্চতায় দেখা যায় এবং আউটপুট উল্টে যায়। একটি কনফিগারযোগ্য হটকি (সাধারণত Ctrl + Caps Lock) কীবোর্ড সুইচ করে, আর কীবোর্ড LED সক্রিয় আউটপুট বোঝাতে পারে; প্রতি-কম্পিউটারের LED অবস্থা মনে রাখা হয়।
প্রকল্পে উল্লেখিত বৈশিষ্ট্য: চোখে পড়ার মতো সুইচিং বিলম্ব নেই, কম্পিউটারের মধ্যে কার্সর টানা, কোনো সফটওয়্যার ইনস্টল করতে হয় না, যন্ত্রাংশ প্রায় 15 EUR-এর নিচে, 3D-প্রিন্টযোগ্য স্ন্যাপ-ফিট কেস, আউটপুটগুলোর মধ্যে পূর্ণ গ্যালভানিক আইসোলেশন, এবং Linux, macOS ও Windows সমর্থন। এটি সার্টিফায়েড ওপেন-সোর্স হার্ডওয়্যার।
হার্ডওয়্যার: UART-এর মাধ্যমে সংযুক্ত দুটি Raspberry Pi Pico বোর্ড, মাঝে একটি ডিজিটাল আইসোলেটর (ADuM1201 বা পিন-সামঞ্জস্যপূর্ণ TI ISO7721DR)। দ্বৈত USB রোল সমর্থন আসে Pico-PIO-USB প্রকল্প থেকে। PCB v1.1-এ ESD সুরক্ষা, VBUS ক্যাপাসিটর, সিল্কস্ক্রিন চিহ্ন ও USB সিরিজ রেজিস্টর যোগ হয়েছে; Gerber ফাইল ও STL কেস ফাইল দেওয়া আছে। একটি বিল অফ মেটেরিয়ালসে প্রায় 11 EUR-এর যন্ত্রাংশ তালিকাভুক্ত।
বিল্ড: রিপোজিটরিতে একটি ন্যূনতম Pico SDK ও TinyUSB বান্ডল করা আছে। Debian/Ubuntu-তে build-essential, cmake, gcc-arm-none-eabi, libnewlib-arm-none-eabi ও python3 ইনস্টল করে cmake কনফিগার ও বিল্ড চালান; পুনরুৎপাদনযোগ্য বিল্ডের জন্য Docker Compose দেওয়া আছে। পূর্ব-নির্মিত .uf2 ইমেজ রিলিজে প্রকাশিত হয়। কনফিগ মোডে ঢুকে (Left Ctrl + Right Shift + C + O) ফার্মওয়্যার আপডেট করা যায়, যা DESKHOP নামের একটি USB ড্রাইভ দেখায়; অথবা ROM বুটলোডার দিয়ে, বা ডিবাগ বিল্ডে CDC ফ্ল্যাশ কমান্ড দিয়ে।
অতিরিক্ত বৈশিষ্ট্যের মধ্যে আছে স্লো-মাউস টগল (Right Ctrl + Right Alt), সুইচ লক (Right Ctrl + K), উভয় আউটপুট লক (Right Ctrl + L), আপেক্ষিক মাউস নড়াচড়া ব্যবহার করা গেমিং মোড (Left Ctrl + Right Shift + G), এবং ঐচ্ছিক স্ক্রিনসেভার। অসংগত বা ভিন্ন আকারের মনিটরের জন্য কার্সর উচ্চতা ক্যালিব্রেশন আছে। ডিভাইস থেকে স্থানীয়ভাবে একটি ওয়েব কনফিগারেশন পেজ পরিবেশন করা হয় এবং WebHID-এর মাধ্যমে Chromium/Chrome-এ খোলা হয়; প্রকল্পে বলা হয়েছে Firefox সমর্থিত নয়। প্রতি আউটপুটে একাধিক স্ক্রিনের জন্য OS ও স্ক্রিন সংখ্যা সেট করতে হয়, এবং এগুলো পরীক্ষামূলক বলা হয়েছে।
নিরাপত্তা-সংক্রান্ত সিদ্ধান্ত ইচ্ছাকৃত: সিস্টেমগুলোর মধ্যে কোনো ক্লিপবোর্ড বা ডেটা শেয়ার নেই, সাধারণ কীবোর্ড LED বার্তার বাইরে আউটপুট থেকে কোনো ইনবাউন্ড সংযোগ নেই, আউটপুট থেকে ফার্মওয়্যার আপগ্রেড ট্রিগার হয় না, ইনপুট ইতিহাস সংরক্ষণ হয় না, ডিভাইস-উদ্ভূত কীস্ট্রোক নেই, আন্তঃডিভাইস প্যাকেট নির্দিষ্ট দৈর্ঘ্যের, নেটওয়ার্কিং নেই, এবং নিষ্ক্রিয়তার পর কনফিগারেশন মোড থেকে স্বয়ংক্রিয়ভাবে বেরিয়ে যায়। কোড সম্পূর্ণ ওপেন, কোনো বাইনারি ব্লব নেই।
জানা সীমাবদ্ধতা: Windows 10 বিল্ড KB5003637 HID পরম স্থানাঙ্ক নষ্ট করেছে, তাই পরীক্ষামূলক ওয়ার্কঅ্যারাউন্ড ছাড়া Windows-এ একাধিক স্ক্রিন সমস্যাযুক্ত; macOS-এ মাল্টি-স্ক্রিন সমর্থনও পরীক্ষামূলক; অতিরিক্ত নিয়ন্ত্রণসহ উন্নত কীবোর্ড ও মাউস পুরোপুরি কাজ নাও করতে পারে; দুটি কম্পিউটারই সংযুক্ত থাকতে হবে ও USB পাওয়ার দিতে হবে; এবং লেখক উল্লেখ করেছেন কোড পরিষ্কার ও আরও ডিভাইসে পরীক্ষা প্রয়োজন। উল্লেখিত সফটওয়্যার বিকল্পের মধ্যে আছে Barrier, Input Leap, Synergy, Mouse Without Borders ও Universal Control। পরিকল্পিত কাজের মধ্যে আছে উন্নত মাল্টি-স্ক্রিন ওয়ার্কঅ্যারাউন্ড, একটি ট্রান্সপারেন্ট/গেমিং মোড, দুইয়ের বেশি আউটপুট সমর্থন, কনফিগারেশন UI উন্নতি, এবং একটি একক-Pico "lite" সংস্করণ।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.