Кіріспе
Адам-компьютер интерфейстерінде X пернетақтасының кеңейтілуі немесе XKB – X терезесі жүйесінің бір бөлігі болып табылады, ол X терезесі жүйесінің негізгі протоколы ұсынатын мүмкіндіктерден асып, пернетақтаны басқару қабілетін кеңейтеді және бірнеше пернетақта макетін пайдалануға мүмкіндік береді. Оның негізгі мүмкіндіктері:
модификаторларға (мысалы, Shift, Ctrl, Alt) күшейтілген қолдау;
пернетақта топтарын (әдетте пернетақта макеттерін) жақсырақ өңдеу;
пернетақта индикаторларын (LED) және дыбылдық сигналдарды кеңейтілген басқару;
әртүрлі жаңа пернетақта параметрлері (басқару элементтері);
(белгілі бір түрдегі) әрекеттерді пернетақта түймелерімен байланыстыру. XKB екі бөліктен тұрады: серверлік кеңейтім және клиенттік кітапхана. Xlib-тің қазіргі нұсқаларында XKB бар, ол әдепкі бойынша белсенді. Бұл кеңейтімді пайдаланбайтын клиенттік бағдарламалар серверге қосылу алдында оны өшіре алады немесе кеңейтім әдепкі бойынша негізгі протоколды имитациялайтындықтан, қалыпты жұмыс істей алады. XKB Wayland композиторлары және kmscon жүйелерінде де қолданылады.
enhanced support for modifiers (, , etc. );
better treatment of key groups (typically keyboard layouts);
extended control of keyboard indicators (LEDs) and bells;
various new keyboard parameters (controls);
association of actions (of a particular kind) to keys. XKB is composed of two parts: a server extension and a client library. Modern versions of Xlib contain XKB, which is active by default. Client programs not using this extension can deactivate it before connecting with the server, or can simply work normally as the extension simulates the core protocol by default. XKB is also used by Wayland compositors and kmscon.
Блокталған және бұғатталған модификаторлар
XKB модификаторды оның қалыпты күйінде болудан басқа, құлыптауға немесе тұрақтап қоюға мүмкіндік береді. Әдетте, модификатор Shift сияқты, басылғанда ғана белсенді болады. Дегенмен, Caps Lock модификаторы сияқты, модификаторды құлыптап та қоюға болады. Модификатор құлыпталған кезде, ол нақты түрде өшірілгенше белсенді күйде қалады. Қалыпты және құлыпталған арасындағы аралық жағдай – тұрақтап қойылған күй: модификатор тұрақтап қойылғанда белсенді болып қалады, бірақ келесі модификатор емес перне басылғанға дейін ғана. XKB клиенттік бағдарламаға модификаторды тұрақтап қоюға немесе құлыптауға мүмкіндік береді. Сонымен қатар, бағдарлама перне басылуын немесе босатылуын модификатор күйінің өзгеруімен байланыстыра алады. Осылайша, перне басылғанда немесе босатылғанда модификатор автоматты түрде тұрақтап қойылуы немесе құлыпталуы мүмкін.
Негізгі топтар
XKB пернетақтаның төрт түрлі таңбалар тобының кез келгеніне ауысу мүмкіндігін береді. Бұл әдетте пернетақтаны басқа тілдің пернетақтасы сияқты жұмыс істеу үшін жасалады. Осы ретте пернетақта тудыратын таңбалар жиынтығы топ деп аталады, ал пернетақта кез келген уақытта басқа топқа көше алады. XKB кейбір топ таңдағыштарды (сипаттамада олар жай ғана топтар деп аталады) анықтайды. Модификаторлар сияқты, топ таңдағышы пернеге тағайындалуы мүмкін, сонымен қатар оны тұрақтап немесе құлыптап қоюға болады.
Бақылау
Пернетақтаның мінез-құлқы клиенттер өзгерте алатын бірқатар параметрлерге байланысты. Бұл параметрлер басқару элементтері деп аталады. Мысалы, SlowKey басқаруын қысқа пернелерді басуды елемеу үшін қолдануға болады. Тағы бір басқару құралы – MouseKeys, ол кейбір пернелерді басу арқылы тышқанның қозғалысын имитациялайды. Басқару құралы осы имитацияның қосулы немесе өшірілгенін көрсетеді; қозғалысты қамтамасыз ететін пернелер басқару құралының бөлігі болып саналмайды, олар осы пернелерге әрекеттер тағайындау арқылы анықталады. Жоғарыда аталған екі басқару құралы бульдік: олар қосулы немесе өшірілген күйде болады. PerKeyRepeat – бульдік емес басқару құралы. Яғни, ол автоматты қайталау режиміндегі пернелерді көрсететін маска. Техникалық сипаттамаға сәйкес, бульдік емес басқару элементтері "әрқашан қосулы" болады: бұл олардың әрқашан параметрлер жиынтығына (осы жағдайда маскаға) байланысты екенін, бірақ басқару құралының әсерін толығымен жоюға мүмкіндік беретін жеке бит жоқ екенін білдіреді. Бульдік немесе бульдік емес болудан басқа, басқару элементтері сервердің және клиент кітапханасының мінез-құлқына әсер ететіндей жіктеледі. Жоғарыдағы екеуі серверлік басқару элементтері. Клиент кітапханасының басқару элементтері перне кодының немесе перне кодтары тізбегінің жолға (XLookupString) аударылуына және оқиғалардың жеткізілуіне әсер етеді.
Бір-бірімен үйлесімділік мәселелері
X пернетақтасының кеңейтімі негізгі пернетақтаны басқару жүйесімен үйлесімсіз, сондықтан бірнеше модификатор пернелері жұмыс істемейді немесе VNC немесе Xephyr сияқты эмуляцияланған орталарда оларды жұмыс істеу үшін арнайы шаралар қолдану қажет.
Басқа
XKB пернетақта индикаторларын (LED) жақсырақ басқаруға мүмкіндік береді. Атап айтқанда, XKB индикаторларға символдық атаулар береді, бұл индикаторларды пернетақта әрекетімен байланыстыруға және пернетақтада қандай индикаторлардың бар екенін тексеруге мүмкіндік береді. XKB сондай-ақ негізгі протоколдың дабылдарды басқаруын жақсартады; негізгі протокол тек бір дабылды қолдайды, ал клиенттің орындай алатын жалғыз әрекеті – дабыл қағу. XKB бірнеше атаулы дабылдарды қолдайды және клиентке олардың кейбіреулерін өшіруге және дабыл қағылғанда хабардар болуға мүмкіндік береді. XKB клиентке пернетақтаның физикалық пішінін, соның ішінде жеке пернелердің пішіндерін сұрауға мүмкіндік береді. Атап айтқанда, пернелер бөлімдерге орналастырылады, мүмкін бұрылады (мысалы, сандық пернетақта әдетте бөлім деп есептеледі). Бөлім ішінде пернелер қатарларға орналасады. Пернелер мен бөлімдер геометрияға ие, ол перненің шамамен контурын, оның шектеу тіктөртбұрышын және нақты пішінін қамтиды. Пернелерден басқа, геометрияға пернетақтадағы перне емес элементтер – doodads кіреді. Пернетақтаның жалпы пішіні – doodad. Doodads туралы ақпарат олардың түсі мен оларға басылған кез келген мәтінді (қолданылатын шрифт қоса алғанда) қамтиды.