ملحق لوحة المفاتيح X
في واجهات الإنسان والحاسوب ، يعد ملحق لوحة المفاتيح X أو XKB جزءًا من نظام X Window الذي يوسع القدرة على التحكم في لوحة المفاتيح على ما يقدمه البروتوكول الأساسي لنظام X Window ، ويسمح باستخدام تخطيطات لوحة مفاتيح متعددة .
من أبرز سماته ما يلي:
- دعم مُحسّن للمُعدِّلات ( Alt،، إلخ)؛⇧ Shift
- معالجة أفضل للمجموعات الرئيسية (عادةً تخطيطات لوحة المفاتيح )؛
- تحكم موسع في مؤشرات لوحة المفاتيح ( مصابيح LED ) والأجراس ؛
- معلمات (عناصر تحكم) جديدة ومتنوعة للوحة المفاتيح؛
- ربط الإجراءات (من نوع معين) بالمفاتيح.
يتألف XKB من جزأين: امتداد للخادم ومكتبة للعميل. تحتوي الإصدارات الحديثة من Xlib على XKB، وهو مُفعّل افتراضيًا. يمكن لبرامج العميل التي لا تستخدم هذا الامتداد تعطيله قبل الاتصال بالخادم، أو يمكنها ببساطة العمل بشكل طبيعي حيث يُحاكي الامتداد البروتوكول الأساسي افتراضيًا.
يستخدم برنامج XKB أيضًا بواسطة برامج تركيب الصور Wayland و kmscon .
مُعدِّلات مُثبَّتة ومُقفلَة
تتيح لوحة المفاتيح XKB إمكانية قفل أو تثبيت مفتاح التعديل ، بالإضافة إلى وضعه في حالته العادية. عادةً، يكون مفتاح التعديل نشطًا عند الضغط عليه، مثل مفتاح Shift . ومع ذلك، يمكن أيضًا قفل مفتاح التعديل، مثل مفتاح Caps Lock . عندما يكون مفتاح التعديل مقفلًا، يظل نشطًا حتى يتم إلغاء تنشيطه صراحةً. أما الحالة الوسيطة بين الوضع العادي والقفل فهي حالة التثبيت: عندما يكون مفتاح التعديل مثبتًا، يظل نشطًا، ولكن فقط حتى يتم الضغط على مفتاح آخر غير مفتاح التعديل.
تتيح XKB لتطبيق العميل إمكانية تثبيت أو قفل مفتاح تعديل بشكل صريح. علاوة على ذلك، يمكن للتطبيق ربط ضغطة مفتاح أو تحريره بتغيير حالة مفتاح التعديل. وبهذه الطريقة، قد يتم تثبيت أو قفل مفتاح التعديل تلقائيًا عند الضغط على مفتاح أو تحريره.
المجموعات الرئيسية
تتيح XKB للوحة المفاتيح التبديل بين أربع مجموعات أحرف مختلفة. يُستخدم هذا عادةً لجعل لوحة المفاتيح تعمل كلوحة مفاتيح لغة أخرى. في هذا السياق، تُسمى مجموعة الأحرف التي تُنشئها لوحة المفاتيح "مجموعة" ، ويمكن للوحة المفاتيح التبديل إلى مجموعة مختلفة في أي وقت.
يُعرّف XKB بعض مُحدِّدات المجموعات (والتي تُسمى ببساطة مجموعات في المواصفات). وكما هو الحال مع المُعدِّلات، يُمكن ربط مُحدِّد المجموعة بمفتاح، ولكن يُمكن أيضًا تثبيته أو قفله.
أدوات التحكم
يعتمد سلوك لوحة المفاتيح على عدد من المعايير التي يمكن للمستخدمين تغييرها. تُسمى هذه المعايير عناصر التحكم . على سبيل المثال، يمكن استخدام عنصر التحكم "SlowKey" لتجاهل ضغطات المفاتيح القصيرة. عنصر تحكم آخر هو "MouseKeys" ، الذي يُنفذ بعض ضغطات المفاتيح لمحاكاة حركات الماوس. يُشير عنصر التحكم فقط إلى ما إذا كانت هذه المحاكاة نشطة أم لا؛ أما المفاتيح التي تُنتج الحركة فلا تُعتبر جزءًا من عنصر التحكم، بل يتم تحديدها عن طريق ربط إجراءات بهذه المفاتيح.
العنصران المذكوران أعلاه هما من نوع Boolean : إما أن يكونا نشطين أو غير نشطين. أما PerKeyRepeat فهو عنصر تحكم غير Boolean، أي أنه عبارة عن قناع يحدد المفاتيح التي تعمل في وضع التكرار التلقائي. ووفقًا للمواصفات، فإن عناصر التحكم غير Boolean تكون "نشطة دائمًا": أي أنها تعتمد دائمًا على مجموعة من المعاملات (في هذه الحالة، القناع)، ولكن لا يوجد بت واحد يمكن استخدامه لإلغاء تأثيرات عنصر التحكم تمامًا.
إلى جانب كونها منطقية أو غير منطقية، تُصنّف عناصر التحكم أيضًا إلى نوعين: عناصر تؤثر على سلوك الخادم وعناصر تؤثر على سلوك مكتبة العميل. العنصران المذكوران أعلاه هما عناصر تحكم الخادم. أما عناصر تحكم مكتبة العميل فتؤثر على ترجمة رمز مفتاح أو سلسلة من رموز المفاتيح إلى سلسلة نصية ( XLookupString ) وعلى إرسال الأحداث.
الإجراءات
تتيح XKB ربط الإجراءات بضغطات المفاتيح، مما ينقل جزءًا من عبء معالجة أحداث الإدخال من تطبيقات العميل إلى خادم X. مع ذلك، تقتصر الإجراءات التي يمكن ربطها بالمفاتيح على ما يلي:
- قم بتغيير حالة المُعدِّل، بجعله نشطًا أو غير نشط أو مُثبَّتًا أو مُقفلًا
- قم بتغيير حالة محددات المجموعة (كما هو الحال مع المعدِّلات)
- محاكاة حدث الماوس (حركة أو نشاط زر)
- تغيير الشاشة النشطة (هذا النوع من الإجراءات اختياري، أي أنه ليس بالضرورة مدعومًا من قبل الخادم)
- قم بتغيير حالة عناصر التحكم المنطقية
- إنشاء حدث رسالة (أي حزمة يتم إرسالها إلى العميل)
- قم بإنشاء رمز مفتاح مختلف
علاوة على ذلك، هناك بعض الإجراءات المتعلقة بالأجهزة والتي تتوفر إذا كان الخادم يدعم امتداد X Input .
مشاكل التوافق
إن ملحق لوحة المفاتيح X غير متوافق مع معالجة لوحة المفاتيح الأساسية، ونتيجة لذلك، فإن العديد من مفاتيح التعديل لا تعمل أو تتطلب حلولاً بديلة داخل البيئات المحاكاة مثل VNC أو Xephyr .
آخر
يُتيح XKB معالجةً أفضل لمؤشرات لوحة المفاتيح (LEDs). وعلى وجه الخصوص، يوفر XKB أسماءً رمزيةً للمؤشرات، مما يسمح بربط المؤشرات بنشاط لوحة المفاتيح والتحقق من المؤشرات الموجودة فعليًا عليها.
يُحسّن XKB أيضًا من طريقة تعامل البروتوكول الأساسي مع الأجراس ؛ إذ يدعم البروتوكول الأساسي جرسًا واحدًا فقط، والإجراء الوحيد الذي يمكن للعميل القيام به هو رنين الجرس. بينما يدعم XKB أجراسًا متعددة مُسمّاة، ويسمح للعميل بتعطيل بعضها وتلقّي إشعار عند رنين أي جرس.
يُمكّن XKB المستخدم من الاستعلام عن الشكل المادي للوحة المفاتيح، بما في ذلك أشكال المفاتيح الفردية. على وجه الخصوص، تُرتّب المفاتيح في أقسام، وقد تكون مُدارة (على سبيل المثال، تُعتبر لوحة المفاتيح الرقمية عادةً قسمًا). داخل القسم، تُرتّب المفاتيح في صفوف. لكل من المفاتيح والأقسام شكل هندسي، يشمل المخطط التقريبي للمفتاح، ومربعه المحيط ، وشكله الدقيق. بالإضافة إلى المفاتيح، يشمل الشكل الهندسي أيضًا عناصر إضافية على لوحة المفاتيح، وهي عناصر ليست مفاتيح. الشكل العام للوحة المفاتيح هو عنصر إضافي. تتضمن المعلومات المُقدّمة حول هذه العناصر لونها وأي نص مطبوع عليها (بما في ذلك نوع الخط المُستخدم).
مراجع
روابط خارجية
- أرتشويكي. ملحق لوحة المفاتيح X
- داميانو فينتورين. دليل بسيط ومتواضع ولكنه شامل لـ XKB لنظام لينكس (2016)
- ميخال كوسمولسكي. إنشاء تخطيطات لوحة مفاتيح مخصصة لنظام X11 باستخدام XKB (2011)
- إيفان باسكال. ملحق لوحة المفاتيح X — معلومات تفصيلية حول ملفات تكوين XKB المختلفة.
- دوغ بالمر. دليل غير موثوق به لتكوين XKB (2004)
- إضافات X Window
- امتدادات وايلاند
