00:00:00هذا هو “كاناتا”، أداة مفتوحة المصدر تطلق العنان لإمكانيات لوحة مفاتيحك القصوى
00:00:03عن طريق القيام بأمور مثل تعيين وظيفة مختلفة للمفتاح عند النقر السريع مقارنة بالضغط المطول،
00:00:08أو استخدام مفتاح واحد لتنفيذ عدة ضغطات مفاتيح معاً،
00:00:10أو إنشاء طبقات مختلفة لتعيينات مفاتيح مخصصة ومتنوعة.
00:00:12وهو أمر رائع لشخص مثلي يبذل قصارى جهده للاعتماد بشكل أساسي على لوحة المفاتيح.
00:00:16لكن ما قصة صيغة الإعدادات الغريبة هذه؟
00:00:19ولماذا قد أستخدم هذه الأداة بدلاً من Karabiner أو أي أداة أخرى تبدأ بحرف K؟
00:00:24اشترك في القناة ولندخل في التفاصيل.
00:00:27اسم “كاناتا” هو الاسم الأصلي لشعوب الإيروكوا ويعني “القرية”،
00:00:30وهو أمر لا علاقة له بلوحات المفاتيح على الإطلاق.
00:00:33لكن إذا كنت مهتماً بلوحات المفاتيح الميكانيكية مثلي، فربما سمعت عن QMK،
00:00:37وهو برنامج تشغيل (Firmware) شهير ومفتوح المصدر للوحات المفاتيح،
00:00:39يسمح لك بإعادة تعيين المفاتيح داخل لوحة المفاتيح نفسها قبل إرسال الإشارة إلى جهازك.
00:00:42أداة “كاناتا” تشبه QMK ولكنها تعمل على مستوى البرمجيات،
00:00:46لذا فهي تدعم جميع لوحات المفاتيح، حتى تلك الموجودة في حاسوبك المحمول.
00:00:49وبما أنها مكتوبة بلغة Rust، فهذا يعني أنها سريعة جداً
00:00:52ولا يوجد تأخير ملموس تقريباً عند الكتابة.
00:00:55لكن إعدادها ليس بهذه البساطة،
00:00:57لأنه بعد تثبيت “كاناتا” مع Karabiner على الماك،
00:01:00سأتحدث أكثر عن ذلك لاحقاً،
00:01:02سيتعين عليك كتابة ملف إعدادات باستخدام صيغة S-expression المستوحاة من لغة Lisp،
00:01:07وهي أغرب صيغة إعدادات رأيتها في حياتي.
00:01:11فبدلاً من كتابة اسم الدالة خارج الأقواس كما هو متوقع،
00:01:16تكتبها في هذا الملف داخل الأقواس بجانب المعطيات مباشرة.
00:01:21وتزداد الأمور غرابة عندما تبدأ في دمج الدوال داخل بعضها،
00:01:24وهو أمر شائع جداً في هذه الإعدادات،
00:01:26لأن كل شيء يكون داخل الأقواس بدلاً من وجود أسماء الدوال خارجها،
00:01:30مما يجعل فهمها يبدو صعباً في البداية.
00:01:35لكنك ستعتاد عليها بعد فترة.
00:01:36كمثال بسيط لتعيين المفاتيح، لنفترض أنني أريد لمفتاح A أن يعمل كمفتاح X.
00:01:41يمكنني فعل ذلك باستخدام دالة defsource لتحديد مفتاح المصدر بوضع A،
00:01:46واستخدام دالة deflayer واحدة على الأقل لتحديد مفتاح الإخراج،
00:01:50سأسمي هذه الطبقة “base” وأعطيها المعطى X.
00:01:53أي مفتاح غير مدرج في ملف الإعدادات سيعمل بشكل طبيعي.
00:01:57لذا، إضافة مفاتيح أخرى مثل B و C وتعيينها لـ X و Z ستبدو بهذا الشكل.
00:02:02لحسن الحظ، المسافات وعلامات التبويب غير مؤثرة،
00:02:04لذا يمكنك توزيع المفاتيح لجعلها سهلة القراءة كما تحب.
00:02:08هناك المزيد من الأشياء الرائعة التي يمكنك فعلها في هذا الملف.
00:02:10يمكنني إعداد ميزة (النقر والضغط المطول)، بحيث يؤدي النقر السريع عملاً والضغط المطول عملاً آخر،
00:02:15مع تحديد مهلة زمنية للضغط المطول ثم إضافة المفاتيح المراد تعيينها.
00:02:19في هذه الحالة، النقر على A سيسجل X، بينما الضغط المطول عليه سيسجل مفتاح Shift الأيسر.
00:02:24ولتسهيل الأمر، يمكنني إضافة دالة defvar لتسجيل بعض المتغيرات
00:02:28التي أستخدمها بشكل متكرر والإشارة إليها باستخدام علامة الدولار،
00:02:32وهو أمر مثالي لإعداد مفاتيح الصف الأساسي (home row mods) لتعمل كمفاتيح تحكم.
00:02:36بصراحة، يبدو هذا غريباً جداً في البداية،
00:02:39لكنني اعتدت عليه تماماً ولا يمكنني تخيل استخدام لوحة المفاتيح بأي طريقة أخرى.
00:02:42يمكنني أيضاً إنشاء طبقة جديدة باسم مختلف مثل “editor”
00:02:46واستخدامها خصيصاً لتحرير الفيديو عبر تخصيص مجموعة كاملة وجديدة من تعيينات المفاتيح
00:02:51والتبديل إليها باستخدام مفتاح تبديل الطبقات.
00:02:54وإذا كنت تريد القيام بشيء مبهر حقاً عند تبديل الطبقات أو غير ذلك،
00:02:58يمكنك تفعيل خادم TCP الخاص بـ “كاناتا” لتتمكن تطبيقات أخرى من الاستماع إليه.
00:03:03في حالتي، جعلت تطبيق SketchyBar يستمع إلى “كاناتا”
00:03:06ليظهر اسم الطبقة الحالية في الجزء العلوي من سطح المكتب عند تبديلها.
00:03:10نعم، استغرق الأمر الكثير من كتابة الإعدادات للوصول لهذه المرحلة،
00:03:13لكنه ليس أمراً لا يستطيع الذكاء الاصطناعي المساعدة فيه.
00:03:16على أي حال، رغم روعة هذا، لماذا قد يستخدم شخص ما “كاناتا” بدلاً من Karabiner Elements؟
00:03:21بالنظر إلى أن الأخير يمكنه فعل كل ما يفعله “كاناتا” وأكثر،
00:03:24مثل استخدام تعيينات مفاتيح مخصصة لتطبيقات أو لوحات مفاتيح معينة،
00:03:28واختبار المفاتيح عبر مستعرض أحداث بديهي جداً،
00:03:30بالإضافة لامتلاكه واجهة رسومية جميلة لمن لا يحبون تشغيل الأوامر في الطرفية.
00:03:35لكن بالنسبة لي، كانت ميزة (النقر والضغط المطول) في Karabiner ضعيفة جداً.
00:03:40استغرق الأمر الكثير من البحث والإعداد للوصول إلى مرحلة جعلها تعمل.
00:03:45وحتى عندما نجحت في ذلك، لم تكن بديهية مثل “كاناتا”.
00:03:49فكانت تسجل الضغطات المطولة كأنها نقرات سريعة بشكل متكرر.
00:03:51أما “كاناتا”، فقد تعاملت مع هذه الميزة بشكل مثالي منذ البداية دون أي تعديل،
00:03:56ولم أشعر بالحاجة للعودة إلى Karabiner Elements مجدداً.
00:03:59لذا إذا كنت تريد حقاً استخدام home row mods، أنصحك باستخدام “كاناتا”.
00:04:03لكن هذا لا يعني أنها مثالية.
00:04:05ستحتاج لملفات إعدادات متعددة للوحات المفاتيح المختلفة إذا كانت لديك تعيينات متنوعة،
00:04:09وهو أمر مزعج قليلاً إذا فصلت لوحة مفاتيح
00:04:12لأن عليك تشغيل أمر للتبديل إلى تعيين المفاتيح المطلوب.
00:04:15كما لم أجد طريقة لإعادة تعيين زر التشغيل/الإيقاف المؤقت إلى F8 في لوحة مفاتيحي،
00:04:20وهو أمر كنت أستطيع فعله بسهولة مع Karabiner.
00:04:22واستغرق الأمر بعض التعديلات لجعل “كاناتا” تعمل مع فارة MX Master.
00:04:26لحسن الحظ، تمكنت من كتابة حلول برمجية لمعظم هذه المشاكل،
00:04:30والتي قد أجعلها مفتوحة المصدر في المستقبل.
00:04:31لكنني أتمنى حقاً أن يصبح مجتمع “كاناتا” أكبر،
00:04:34وهو ما قد يساعد فيه هذا الفيديو إذا شاركه المزيد من الناس مع أصدقائهم وزملائهم، أليس كذلك؟