table of contents
- unstable 4.31.0-1
| ioctl_kd(2) | System Calls Manual | ioctl_kd(2) |
الاسم¶
ioctl_kd - أوامر ioctl للطرفية التحكمية ووحدات التحكم الافتراضية
موجز¶
#include <linux/kd.h> /* Definition of op constants */ #include <sys/ioctl.h>
int ioctl(int fd, unsigned long op, void *argp);
الوصف¶
عمليات ioctl(2) الخاصة بلينكس التالية مدعومة لمحطات الطرفية ووحدات التحكم الافتراضية.
- KDGETLED
- احصل على
حالة
مصابيح LED.
يشير argp إلى
uint8_t. تُضبط
البتات
الثلاث
السفلى من
*argp على حالة
مصابيح LED،
كما يلي:
LED_CAP 0x04 مصباح قفل الأحرف الكبيرة LED_NUM 0x02 مصباح قفل الأرقام LED_SCR 0x01 مصباح قفل التمرير - KDSETLED
- اضبط مصابيح LED. تُضبط مصابيح LED لتتوافق مع البتات الثلاث السفلى من العدد الصحيح الطويل غير الموقّع في argp. ومع ذلك، إذا تم ضبط بت ذو ترتيب أعلى، تعود مصابيح LED إلى الوضع الطبيعي: عرض حالة وظائف لوحة المفاتيح لقفل الأحرف الكبيرة وقفل الأرقام وقفل التمرير.
قبل لينكس 1.1.54، كانت مصابيح LED تعكس فقط حالة أعلام لوحة المفاتيح المقابلة، وكانت KDGETLED/KDSETLED تغير أيضًا أعلام لوحة المفاتيح. منذ لينكس 1.1.54، يمكن جعل مصابيح LED تعرض معلومات عشوائية، لكنها مبدئيًا تعرض أعلام لوحة المفاتيح. يُستخدم أمرا ioctl التاليان للوصول إلى أعلام لوحة المفاتيح.
- KDGKBLED
- احصل على أعلام لوحة المفاتيح CapsLock وNumLock وScrollLock (وليس الأضواء). يشير argp إلى uint8_t يُضبط على حالة العلم. تحصل البتات الثلاث السفلى (قناع 0x7) على حالة العلم الحالية، وتحصل البتات السفلى من النيبل التالي (قناع 0x70) على حالة العلم المبدئية. (منذ لينكس 1.1.54.)
- KDSKBLED
- اضبط أعلام لوحة المفاتيح CapsLock وNumLock وScrollLock (وليس الأضواء). argp هو عدد صحيح طويل غير موقّع يحتوي على حالة العلم المطلوبة. تحتوي البتات الثلاث السفلى (قناع 0x7) على حالة العلم، وتحتوي البتات السفلى من النيبل التالي (قناع 0x70) على حالة العلم المبدئية. (منذ لينكس 1.1.54.)
- KDGKBTYPE
- احصل على نوع لوحة المفاتيح. يُرجع هذا القيمة KB_101، المُعرّفة كـ 0x02.
- KDADDIO
- أضف منفذ إدخال/إخراج كصالح. مكافئ لـ ioperm(arg,1,1).
- KDDELIO
- احذف منفذ إدخال/إخراج كصالح. مكافئ لـ ioperm(arg,1,0).
- KDENABIO
- فعّل الإدخال/الإخراج إلى بطاقة الفيديو. مكافئ لـ ioperm(0x3b4, 0x3df-0x3b4+1, 1).
- KDDISABIO
- عطّل الإدخال/الإخراج إلى بطاقة الفيديو. مكافئ لـ ioperm(0x3b4, 0x3df-0x3b4+1, 0).
- KDSETMODE
- اضبط وضع
النص/الرسوميات.
argp هو عدد
صحيح غير
موقّع
يحتوي على
واحد من:
KD_TEXT 0x00 KD_GRAPHICS 0x01 - KDGETMODE
- الحصول على وضع النص/الرسوميات. يشير argp إلى int يُضبط على إحدى القيم الموضحة أعلاه لـ KDSETMODE.
- KDMKTONE
- توليد نغمة بطول محدد. تحدد الـ 16 بت السفلية من العدد الصحيح الطويل غير الموقع في argp الفترة بدورات الساعة، وتعطي الـ 16 بت العلوية المدة بالميلي ثانية. إذا كانت المدة صفرًا، يُطفأ الصوت. تعود السيطرة فورًا. على سبيل المثال، argp = (125<<16) + 0x637 سيحدد الصفير المرتبط عادةً بـ ctrl-G. (وهكذا، منذ Linux 0.99pl1؛ معطل في Linux 2.1.49-50.)
- KIOCSOUND
- بدء أو إيقاف توليد الصوت. تحدد الـ 16 بت السفلية من argp الفترة بدورات الساعة (أي argp = 1193180/التردد). argp = 0 يطفئ الصوت. في كلتا الحالتين، تعود السيطرة فورًا.
- GIO_CMAP
- الحصول على خريطة الألوان المبدئية الحالية من النواة. يشير argp إلى مصفوفة بحجم 48 بايت. (منذ Linux 1.3.3.)
- PIO_CMAP
- تغيير خريطة الألوان المبدئية لوضع النص. يشير argp إلى مصفوفة بحجم 48 بايت تحتوي، بالترتيب، على قيم الأحمر والأخضر والأزرق للألوان الـ 16 المتاحة للشاشة: 0 يعني إيقاف، و255 يعني شدة كاملة. الألوان المبدئية هي، بالترتيب: أسود، أحمر داكن، أخضر داكن، بني، أزرق داكن، أرجواني داكن، سماوي داكن، رمادي فاتح، رمادي داكن، أحمر ساطع، أخضر ساطع، أصفر، أزرق ساطع، أرجواني ساطع، سماوي ساطع، وأبيض. (منذ Linux 1.3.3.)
- GIO_FONT
- الحصول على خط الشاشة ذي 256 حرفًا بشكل موسع. يشير argp إلى مصفوفة بحجم 8192 بايت. يفشل مع رمز الخطأ EINVAL إذا كان الخط المحمل حاليًا هو خط ذو 512 حرفًا، أو إذا لم تكن وحدة التحكم في وضع النص.
- GIO_FONTX
- الحصول على خط الشاشة والمعلومات المرتبطة به. يشير argp إلى struct consolefontdesc (انظر PIO_FONTX). عند الاستدعاء، يجب ضبط حقل charcount على أقصى عدد من الأحرف التي قد تتسع في المخزن المؤقت المشار إليه بـ chardata. عند العودة، يُملأ كل من charcount و charheight بالبيانات الخاصة بالخط المحمل حاليًا، وتحتوي مصفوفة chardata على بيانات الخط إذا كانت القيمة الأولية لـ charcount تشير إلى توفر مساحة كافية؛ وإلا، يبقى المخزن المؤقت دون تغيير ويُضبط errno على ENOMEM. (منذ Linux 1.3.1.)
- PIO_FONT
- ضبط خط الشاشة ذي 256 حرفًا. تحميل الخط في مولد الأحرف EGA/VGA. يشير argp إلى خريطة بحجم 8192 بايت، مع 32 بايت لكل حرف. يُستخدم فقط أول N منها لخط 8xN (0 < N <= 32). يُبطل هذا الاستدعاء أيضًا تعيين Unicode.
- PIO_FONTX
- ضبط خط الشاشة ومعلومات العرض المرتبطة به. يشير argp إلى
-
struct consolefontdesc {
unsigned short charcount; /* characters in font
(256 or 512) */
unsigned short charheight; /* scan lines per
character (1-32) */
char *chardata; /* font data in
expanded form */ };
- إذا لزم الأمر، سيُعاد تحجيم الشاشة بشكل مناسب، ويُرسل SIGWINCH إلى العمليات المناسبة. يُبطل هذا الاستدعاء أيضًا تعيين Unicode. (منذ Linux 1.3.1.)
- PIO_FONTRESET
- إعادة ضبط خط الشاشة وحجمه وتعيين Unicode إلى الإعدادات المبدئية للإقلاع. argp غير مستخدم، ولكن يجب ضبطه على NULL لضمان التوافق مع الإصدارات المستقبلية من Linux. (منذ Linux 1.3.28.)
- GIO_SCRNMAP
- الحصول على تعيين الشاشة من النواة. يشير argp إلى منطقة بحجم E_TABSZ، تُحمّل بمواضع الخط المستخدمة لعرض كل حرف. من المحتمل أن يعيد هذا الاستدعاء معلومات غير مفيدة إذا كان الخط المحمل حاليًا يحتوي على أكثر من 256 حرفًا.
- GIO_UNISCRNMAP
- الحصول على تعيين Unicode الكامل للشاشة من النواة. يشير argp إلى منطقة بحجم E_TABSZ*sizeof(unsigned short)، تُحمّل بـ Unicodes التي يمثلها كل حرف. تُستخدم مجموعة خاصة من Unicodes، تبدأ من U+F000، لتمثيل تعيينات "مباشرة إلى الخط". (منذ Linux 1.3.1.)
- PIO_SCRNMAP
- تحميل الجدول "القابل للتعريف من قبل المستخدم" (الرابع) في النواة الذي يعيّن البايتات إلى رموز شاشة وحدة التحكم. يشير argp إلى منطقة بحجم E_TABSZ.
- PIO_UNISCRNMAP
- تحمّل الجدول "القابل للتعريف من قبل المستخدم" (الرابع) في النواة الذي يربط البايتات بـ Unicodes، والتي تُترجم بعد ذلك إلى رموز شاشة وفقًا لخريطة Unicode-to-font المحملة حاليًا. يمكن استخدام Unicodes الخاصة التي تبدأ بـ U+F000 للربط مباشرة برموز الخط. (منذ Linux 1.3.1.)
- GIO_UNIMAP
- الحصول على خريطة Unicode-to-font من النواة. يشير argp إلى
-
struct unimapdesc {
unsigned short entry_ct;
struct unipair *entries; };
- حيث يشير entries إلى مصفوفة من
-
struct unipair {
unsigned short unicode;
unsigned short fontpos; };
- (منذ Linux 1.1.92.)
- PIO_UNIMAP
- وضع خريطة unicode-to-font في النواة. يشير argp إلى struct unimapdesc. (منذ Linux 1.1.92)
- PIO_UNIMAPCLR
- مسح الجدول، مع إمكانية تقديم نصيحة لخوارزمية التجزئة. يشير argp إلى
-
struct unimapinit {
unsigned short advised_hashsize; /* 0 if no opinion */
unsigned short advised_hashstep; /* 0 if no opinion */
unsigned short advised_hashlevel; /* 0 if no opinion */ };
- (منذ Linux 1.1.92.)
- KDGKBMODE
- يحصل على
وضع لوحة
المفاتيح
الحالي.
يشير argp إلى
long يُضبط
على أحد
هذه:
K_RAW 0x00 /* وضع خام (scancode) */ K_XLATE 0x01 /* ترجمة keycodes باستخدام keymap */ K_MEDIUMRAW 0x02 /* وضع خام متوسط (scancode) */ K_UNICODE 0x03 /* وضع Unicode */ K_OFF 0x04 /* وضع معطل (منذ Linux 2.6.39) */ - KDSKBMODE
- يضبط وضع لوحة المفاتيح الحالي. argp هو long يساوي إحدى القيم المعروضة لـ KDGKBMODE.
- KDGKBMETA
- يحصل على
وضع معالجة
مفتاح meta.
يشير argp إلى
long يُضبط
على أحد
هذه:
K_METABIT 0x03 تعيين البت الأعلى رتبة K_ESCPREFIX 0x04 بادئة الهروب - KDSKBMETA
- يضبط وضع معالجة مفتاح الميتا. argp هو long يساوي إحدى القيم الموضحة أعلاه لـ KDGKBMETA.
- KDGKBENT
- يجلب مدخلة واحدة في جدول ترجمة المفاتيح (من رمز المفتاح إلى رمز الإجراء). argp يشير إلى
-
struct kbentry {
unsigned char kb_table;
unsigned char kb_index;
unsigned short kb_value; };
- مع تعبئة أول عضوين: kb_table يختار جدول المفاتيح (0 <= kb_table < MAX_NR_KEYMAPS)، و kb_index هو رمز المفتاح (0 <= kb_index < NR_KEYS). يُضبط kb_value على رمز الإجراء المقابل، أو K_HOLE إذا لم يكن هناك مفتاح من هذا القبيل، أو K_NOSUCHMAP إذا كان kb_table غير صالح.
- KDSKBENT
- يضبط مدخلة واحدة في جدول الترجمة. argp يشير إلى struct kbentry.
- KDGKBSENT
- يجلب سلسلة مفتاح وظيفة واحد. argp يشير إلى
-
struct kbsentry {
unsigned char kb_func;
unsigned char kb_string[512]; };
- يُضبط kb_string على السلسلة (المنتهية بقيمة خالية) المقابلة لرمز إجراء مفتاح الوظيفة رقم kb_func.
- KDSKBSENT
- يضبط مدخلة سلسلة مفتاح وظيفة واحد. argp يشير إلى struct kbsentry.
- KDGKBDIACR
- يقرأ جدول التشكيل في النواة. argp يشير إلى
-
struct kbdiacrs {
unsigned int kb_cnt;
struct kbdiacr kbdiacr[256]; };
- حيث kb_cnt هو عدد المدخلات في المصفوفة، كل منها هو
-
struct kbdiacr {
unsigned char diacr;
unsigned char base;
unsigned char result; };
- KDGETKEYCODE
- يقرأ مدخلة جدول رموز المفاتيح في النواة (من رمز المسح إلى رمز المفتاح). argp يشير إلى
-
struct kbkeycode {
unsigned int scancode;
unsigned int keycode; };
- يُضبط keycode ليتوافق مع scancode المعطى. (فقط 89 <= scancode <= 255. بالنسبة لـ 1 <= scancode <= 88، keycode==scancode.) (منذ Linux 1.1.63.)
- KDSETKEYCODE
- يكتب مدخلة جدول رموز المفاتيح في النواة. argp يشير إلى struct kbkeycode. (منذ Linux 1.1.63.)
- KDSIGACCEPT
- تشير العملية المستدعية إلى استعدادها لقبول الإشارة argp عند توليدها بالضغط على تركيبة مفاتيح مناسبة. (1 <= argp <= NSIG). (انظر spawn_console() في linux/drivers/char/keyboard.c.)
قيمة الإرجاع¶
يُعاد 0 عند النجاح (إلا في الحالات الموضحة). ويُعاد -1 عند الفشل، وتُضبط errno للإشارة إلى الخطأ.
الأخطاء¶
- EINVAL
- argp غير صالح.
المعايير¶
لينكس.
انظر أيضًا¶
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس 6.18 |