| LOADKEYS(1) | دستورهای کاربری | LOADKEYS(1) |
نام (NAME)
loadkeys - بارگذاری و اعمال جدول نگاشت کلیدهای صفحهکلید در لینوکس
خلاصه دستور (SYNOPSIS)
loadkeys [
گزینهها... ] [
فایل_جدول_کلید...
]
loadkeys --default
loadkeys --mktable
loadkeys --bkeymap
loadkeys --parse
توضیحات (DESCRIPTION)
برنامه loadkeys جداول نگاشت کلیدهای صفحهکلید را خوانده و در درایور صفحهکلید هسته لینوکس بارگذاری میکند.
هدف اصلی این برنامه بارگذاری جدول نگاشت کلید هسته برای کنسول است. میتوانید دستگاه کنسول را با گزینه -C (یا --console) مشخص کنید.
بازنشانی به پیشفرض (RESET TO DEFAULT)
اگر گزینه -d (یا --default) مشخص شود، loadkeys یک جدول نگاشت کلید پیشفرض را بارگذاری میکند، که احتمالاً فایل defkeymap.map در /usr/share/keymaps یا در /usr/src/linux/drivers/tty/vt است. (مورد اول معمولاً توسط کاربر تعریف شده است، در حالی که دومی یک نگاشت صفحهکلید qwerty برای رایانههای شخصی است که شاید مطلوب نباشد.) گاهی اوقات در اثر بارگذاری یک جدول نگاشت عجیب (که علامت منفی روی یک ترکیب کلید تبدیلکننده ناشناخته قرار گرفته است)، تایپ کردن دستور `loadkeys defkeymap.map` سادهترین راه است.
بارگذاری جدول کلیدهای هسته (LOAD KERNEL KEYMAP)
وظیفه اصلی loadkeys بارگذاری یا تغییر جداول ترجمه درایور صفحهکلید است. هنگام مشخص کردن نام فایلها، ورودی استاندارد را میتوان با خط تیره (-) نشان داد. اگر فایلی مشخص نشود، دادهها از ورودی استاندارد خوانده میشوند.
برای بسیاری از کشورها و انواع صفحهکلیدها، جداول کلید مناسب از قبل در دسترس هستند و دستوری مانند `loadkeys uk` ممکن است نیاز شما را برآورده کند. از سوی دیگر، ساختن جدول کلید اختصاصی نیز ساده است. کاربر باید مشخص کند چه نمادهایی به هر کلید تعلق دارند. او میتواند کد کلید مربوطه را با استفاده از دستور showkey(1) پیدا کند، در حالی که قالب نگاشت کلید در keymaps(5) آورده شده و همچنین از خروجی dumpkeys(1) نیز قابل مشاهده است.
بارگذاری جدول اکسنت هسته (LOAD KERNEL ACCENT TABLE)
اگر فایل ورودی حاوی هیچ تعریفی برای کلیدهای ترکیبکننده (compose) نباشد، جدول اکسنت هسته بدون تغییر باقی میماند، مگر اینکه گزینه -c (یا --clearcompose) داده شود که در این صورت جدول اکسنت هسته خالی میشود. اگر فایل ورودی حاوی تعاریف کلید ترکیبکننده باشد، تمام تعاریف قبلی حذف شده و با موارد جدید مشخصشده جایگزین میشوند. جدول اکسنت هسته توالیای از ورودیها (بهطور پیشفرض ۶۸ مورد) است که رفتار نشانههای اعراب و کلیدهای ترکیبکننده را توصیف میکند. به عنوان مثال، یک خط مانند:
به این معناست که ترکیب <ComposeKey><,><c> باید به <ccedilla> تبدیل شود. محتوای فعلی این جدول را میتوان با استفاده از دستور `dumpkeys --compose-only` مشاهده کرد.
بارگذاری جدول رشتههای هسته (LOAD KERNEL STRING TABLE)
گزینه -s (یا --clearstrings) جدول رشتههای هسته را پاک میکند. اگر این گزینه داده نشود، loadkeys تنها رشتهها را اضافه یا جایگزین میکند و آنها را حذف نخواهد کرد. (بنابراین، گزینه -s برای رسیدن به یک وضعیت معین و پایدار مورد نیاز است.) جدول رشتههای هسته توالیای از رشتهها با نامهایی مانند F31 است. برای مثال میتوان کاری کرد که کلید تابعی F5 (روی یک صفحهکلید معمولی رایانه شخصی) متن `Hello!` و کلید Shift+F5 متن `Goodbye!` را تولید کند، با قرار دادن خطوط زیر:
string F70 = "Hello!"
string F71 = "Goodbye!"
در فایل جدول کلید. نگاشتهای پیشفرض برای کلیدهای تابعی، دنبالههای فرار مشخصی هستند که عمدتاً از ترمینال VT100 الهام گرفته شدهاند.
ایجاد جدول منبع هسته (CREATE KERNEL SOURCE TABLE)
اگر گزینه -m (یا --mktable) مشخص شود، loadkeys فایلی را در خروجی استاندارد چاپ میکند که میتواند به عنوان /usr/src/linux/drivers/tty/vt/defkeymap.c مورد استفاده قرار گیرد و نگاشتهای کلید پیشفرض را برای یک هسته مشخص کند (و نگاشت کلید فعلی را تغییر نمیدهد).
ایجاد جدول کلید باینری (CREATE BINARY KEYMAP)
اگر گزینه -b (یا --bkeymap) مشخص شود، loadkeys فایلی را در خروجی استاندارد چاپ میکند که میتواند به عنوان جدول کلید باینری مورد انتظار برای دستور loadkmap در Busybox استفاده شود (و نگاشت کلید فعلی را تغییر نمیدهد).
حالت یونیکد (UNICODE MODE)
برنامه loadkeys بهطور خودکار تشخیص میدهد که کنسول در حالت یونیکد (Unicode) است یا اسکی (ASCII/XLATE). هنگامی که یک جدول کلید بارگذاری میشود، نمادهای حرفی کلیدها (مانند section) به تناسب حلوفصل میشوند؛ نمادهای عددی کلیدها صرفنظر از روش مشخصشدن آنها (دهدهی، هشتهشتی، شانزدهشانزدهی یا یونیکد) متناسب با حالت جاری کنسول تبدیل میشوند.
گزینه -u (یا --unicode) برنامه loadkeys را مجبور به تبدیل تمامی نگاشتهای کلید به یونیکد میکند. اگر صفحهکلید در حالتی غیر از یونیکد (مانند XLATE) باشد، loadkeys در طول مدت اجرای خود آن را به یونیکد تغییر میدهد. در این حالت یک پیام هشدار چاپ خواهد شد.
توصیه میشود قبل از اجرای loadkeys بهجای استفاده از گزینه -u، دستور kbd_mode(1) را اجرا کنید.
سایر گزینهها (OTHER OPTIONS)
- -a, --ascii
- تبدیل اجباری به اسکی (ASCII).
- -h, --help
- loadkeys شماره نسخه و یک پیام کوتاه نحوه استفاده را در خروجی خطای استاندارد چاپ کرده و خارج میشود.
- -p, --parse
- loadkeys جدول کلید را بدون انجام عمل خاصی جستجو و تجزیه میکند.
- -q, --quiet
- loadkeys تمام خروجیهای عادی را پنهان میکند.
- -V, --version
- loadkeys شماره نسخه را چاپ کرده و خارج میشود.
هشدار (WARNING)
توجه داشته باشید هر کسی که دسترسی خواندن به /dev/console داشته باشد میتواند loadkeys را اجرا کند و بدین ترتیب چینش صفحهکلید را تغییر دهد و چه بسا آن را غیرقابل استفاده سازد. توجه کنید که جدول نگاشت صفحهکلید میان تمام کنسولهای مجازی مشترک است، بنابراین هر تغییری در نگاشتهای صفحهکلید همزمان بر تمامی کنسولهای مجازی اثر میگذارد.
توجه داشته باشید از آنجا که تغییرات بر تمام کنسولهای مجازی تأثیر میگذارند، این تغییرات پس از پایان نشست کاری شما نیز پابرجا خواهند بود. این بدان معنی است که حتی در اعلان ورود به سیستم (login prompt) نیز ممکن است نگاشت کلیدها آن چیزی نباشد که کاربر انتظار دارد.
فایلها (FILES)
- /usr/share/keymaps
- دایرکتوری پیشفرض برای جداول نگاشت کلید.
- /usr/src/linux/drivers/tty/vt/defkeymap.map
- جدول نگاشت کلید پیشفرض هسته.
همچنین ببینید (SEE ALSO)
| مه ۲۰۲۵ | kbd |