| sway-input(5) | File Formats Manual | sway-input(5) |
نام (NAME)
sway-input - فایل پیکربندی ورودی و دستورات
توضیحات (DESCRIPTION)
محیط Sway امکان پیکربندی دستگاهها را درون فایل پیکربندی sway فراهم میکند. برای به دست آوردن فهرستی از شناسههای دستگاههای در دسترس، دستور swaymsg -t get_inputs را اجرا کنید. تنظیمات همچنین میتوانند با استفاده از نویسه عمومی (wildcard) * به جای <identifier> در دستورات زیر، روی تمامی دستگاههای ورودی اعمال شوند. علاوه بر این، تنظیمات میتوانند با استفاده از type:<input_type> به جای <identifier>، روی یک نوع خاص از دستگاه اعمال شوند.
در فایل پیکربندی، تنظیماتی که انتخابگر خاصتری دارند نسبت به موارد عمومیتر اولویت دارند: <identifier> > type:<input_type> > *. اما هنگام اجرای دستورات ورودی در خط فرمان، تنظیمات روی تمامی دستگاههای ورودی منطبق اعمال میشوند! این بدان معناست که type:<input_type> میتواند تنظیمات قبلاً اعمالشده <identifier> را بازنویسی کند، هرچند در فایل پیکربندی اولویت با شناسه خاص بود. به طور مشابه اگر * دیرتر اعمال شود، میتواند هر دو تنظیمات <identifier> و type:<input_type> را بازنویسی کند.
نکته: اگر به نظر میرسد تنظیمات پیکربندی اعمال نمیشوند، میتوانید به جای <identifier> از * استفاده کنید. اگر با نویسه عمومی کار کرد، از شناسههای مختلف خروجی swaymsg -t get_inputs استفاده کنید تا دستگاه ورودی صحیح را پیدا کنید.
انواع ورودی موجود در حال حاضر عبارتند از:
- touchpad
- pointer
- keyboard
- touch
- tablet_tool
- tablet_pad
- switch
نکته: پیکربندیهای نوع دستگاه (type) همزمان با شناسایی دستگاهها و روی پیکربندیهای موجود دستگاه اعمال میشوند.
دستورات ورودی (INPUT COMMANDS)
پیکربندی صفحهکلید (KEYBOARD CONFIGURATION)
input <identifier> repeat_delay <milliseconds>
input <identifier> repeat_rate <characters per second>
برای اطلاعات بیشتر در مورد این گزینههای پیکربندی xkb، به xkeyboard-config(7) مراجعه کنید.
input <identifier> xkb_file <file_name>
input <identifier> xkb_layout <layout_name>
میتوان چند چیدمان را با جدا کردن آنها با کاما مشخص کرد.
input <identifier> xkb_model <model_name>
input <identifier> xkb_options <options>
میتوان چندین گزینه را با جدا کردن آنها با کاما مشخص کرد.
input <identifier> xkb_rules <rules>
input <identifier> xkb_switch_layout <index>|next|prev
این دستور زمانی کاربرد دارد که چند چیدمان با xkb_layout پیکربندی شده باشند. فهرستی از چیدمانهای قابل تغییر را میتوان با swaymsg -t get_inputs به دست آورد.
input <identifier> xkb_variant <variant>
دستورات زیر تنها میتوانند در فایل پیکربندی استفاده شوند.
input <identifier> xkb_capslock enabled|disabled
input <identifier> xkb_numlock enabled|disabled
پیکربندی تبلت (TABLET CONFIGURATION)
input <identifier> tool_mode <tool> <absolute|relative>
مقادیر معتبر برای <tool> در حال حاضر عبارتند از "pen"، "eraser"، "brush"، "pencil"، "airbrush" و نویسه عمومی * که با تمام ابزارها مطابقت دارد.
ابزارهای ماوس و لنز این تنظیم را نادیده میگیرند و همیشه به صورت نسبی در نظر گرفته میشوند.
پیکربندی نگاشت (MAPPING CONFIGURATION)
input <identifier> map_to_output <identifier>
نویسه عمومی * میتواند برای نگاشت دستگاه ورودی به کل چیدمان دسکتاپ استفاده شود.
input <identifier> map_to_region <X> <Y> <width> <height>
input <identifier> map_from_region <X1xY1> <X2xY2>
معمولاً برای حفظ نسبت تصویر (aspect ratio) دستگاه ورودی و صفحه نمایش استفاده میشود. برش دادن یک ناحیه ورودی با نسبت ۱۶:۱۰ برای مطابقت با صفحه نمایش ۱۶:۹ میتواند از 0x0 1x0.9 به عنوان آرگومان استفاده کند.
پیکربندی LIBINPUT (LIBINPUT CONFIGURATION)
input <identifier> accel_profile adaptive|flat
input <identifier> calibration_matrix <6 space-separated floating point values>
input <identifier> click_method none|button_areas|clickfinger
input <identifier> clickfinger_button_map lrm|lmr
input <identifier> drag enabled|disabled
input <identifier> drag_lock enabled|disabled|enabled_sticky
input <identifier> dwt enabled|disabled
input <identifier> dwtp enabled|disabled
input <identifier> events enabled|disabled|disabled_on_external_mouse|toggle [<toggle-modes>]
گزینه toggle در فایل تنظیمات قابل استفاده نیست. اگر هیچ حالتی برای تغییر ذکر نشود، تمام حالتهای پشتیبانیشده به این ترتیب پیمایش میشوند: enabled، disabled_on_external_mouse، disabled، (برگشت به ابتدا). اگر حالتها مشخص شوند، بین آنها جابهجا خواهد شد و در صورت عدم تطابق با حالت فعلی به اولین مورد پرش میکند. همچنین پشتیبانی دستگاه از آنها بررسی نخواهد شد و ممکن است با خطا مواجه شود.
input <identifier> left_handed enabled|disabled
input <identifier> middle_emulation enabled|disabled
input <identifier> natural_scroll enabled|disabled
input <identifier> pointer_accel [<-1|1>]
input <identifier> rotation_angle <angle>
input <identifier> scroll_button disable|button[1-3,8,9]|<event-code-or-name>
input <identifier> scroll_button_lock enabled|disabled
input <identifier> scroll_factor <floating point value>
input <identifier> scroll_method none|two_finger|edge|on_button_down
input <identifier> tap enabled|disabled
input <identifier> tap_button_map lrm|lmr
پیکربندی نشیمنگاه (SEAT CONFIGURATION)
گزینههای حالت چندکاربره/چندنرمافزاری (multiseat) را پیکربندی میکند.
یک seat مجموعهای از دستگاههای ورودی است که مستقل از یکدیگر عمل میکنند. نشیمنگاهها با نام شناسایی میشوند و اگر نشیمنگاهی پیکربندی نشده باشد، نشیمنگاه پیشفرض seat0 است. در حین اجرای sway، خط تیره (-) میتواند به عنوان نام مستعار برای نشیمنگاه فعلی استفاده شود. هر نشیمنگاه تمرکز صفحهکلید مستقل و یک مکاننمای مجزا دارد که توسط دستگاههای اشارهگر آن نشیمنگاه کنترل میشود. این برای استفاده چندین نفر به طور همزمان از دسکتاپ با دستگاههای اختصاصی خود کاربرد دارد. نویسه عمومی * همچنین میتواند به جای <identifier> برای تغییر تنظیمات همه نشیمنگاهها استفاده شود.
نکته: اگر به نظر میرسد تنظیمات اعمال نمیشوند، میتوانید از * به جای <identifier> استفاده کنید. اگر کار کرد، شناسههای مختلف حاصل از swaymsg -t get_seats را امتحان کنید تا نشیمنگاه صحیح را بیابید.
seat <name> attach <input_identifier>
seat <seat> cursor move|set <x> <y>
منسوخشده: به جای آن از پروتکل virtual-pointer در Wayland استفاده کنید.
seat <seat> cursor press|release button[1-9]|<event-name-or-code>
منسوخشده: به جای آن از پروتکل virtual-pointer در Wayland استفاده کنید.
seat <name> fallback true|false
seat <name> hide_cursor <timeout>|when-typing [enable|disable]
اگر timeout مشخص شود، مکاننما پس از گذشت این زمان (به میلیثانیه) بدون هیچ فعالیتی پنهان میشود. مقدار 0 (پیشفرض) پنهانسازی را غیرفعال میکند. حداقل زمان ۱۰۰ میلیثانیه است و مقادیر کمتر از آن به ۱۰۰ افزایش مییابند.
اگر when-typing فعال باشد، هر زمان که کلیدی فشرده شود مکاننما پنهان خواهد شد.
توجه داشته باشید که این تنظیم میتواند در مدیریت ورودی بازیها و برنامههایی مانند Gimp و Blender که به ورودی همزمان ماوس و صفحهکلید وابستهاند، تداخل ایجاد کند.
seat <name> idle_inhibit <sources...>
seat <name> keyboard_grouping none|smart
seat <name> pointer_constraint enable|disable|escape
seat <name> shortcuts_inhibitor enable|disable|activate|deactivate|toggle
seat <name> xcursor_theme <theme> [<size>]
همچنین ببینید (SEE ALSO)
| 2026-06-23 |