.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "gmobile.udev" "" "" "" .SH "نام (NAME)" gmobile.udev \- پیکربندی دستگاه برای gmobile .SH "توضیحات (DESCRIPTION)" .sp برنامه \fBgmobile\fP به شما امکان می‌دهد جنبه‌های مشخصی را از طریق hwdb مربوط به udev پیکربندی کنید: \% .sp ویژگی‌های زیر پشتیبانی می‌شوند: .SH "کلیدهای بیدارسازی (WAKEUP KEYS)" .sp کلیدهای بیدارسازی یک دستگاه ورودی مشخص می‌کنند که کدام کلیدها صفحه نمایش دستگاهِ در حالت بیکار (idle) را از حالت خاموشی خارج می‌کنند. به‌طور پیش‌فرض تمام کلیدها، کلید بیدارسازی هستند. این مقدار پیش‌فرض را می‌توان برای هر صفحه‌کلید به صورت مجزا از طریق مقدار زیر تغییر داد: .INDENT 0.0 .INDENT 3.5 .sp .EX GM_WAKEUP_KEY_DEFAULT=0 .EE .UNINDENT .UNINDENT .sp رفتار کلیدهای جداگانه را می‌توان با مشخص کردن کد کلید (keycode) آن‌ها تغییر داد، برای مثال: .INDENT 0.0 .INDENT 3.5 .sp .EX GM_WAKEUP_KEY_=[0|1] .EE .UNINDENT .UNINDENT .sp مقدار keycode همان کد رویداد (event code) لینوکس است. .sp توجه داشته باشید که gmobile صرفاً این اطلاعات را فراهم می‌کند. کامپوزیتور Wayland مسئول اعمال آن است. .sp برای جزئیات بیشتر درباره نحوه افزودن این ویژگی‌ها به hwdb، بخش‌های زیر را ببینید. .SH "روشنایی چراغ‌قوه (TORCH BRIGHTNESS)" .sp یک LED که به عنوان فلاش دوربین به کار می‌رود، می‌تواند به عنوان چراغ‌قوه نیز استفاده شود. حداقل روشنایی چراغ‌قوه باید همچنان برای کاربر قابل مشاهده باشد تا از تخلیه بی‌مورد باتری جلوگیری شود. این حالت معمولاً در سطح \fB1\fP برقرار است. ویژگی \fBGM_TORCH_MIN_BRIGHTNESS\fP امکان بازنویسی و تغییر این مقدار را فراهم می‌کند. .INDENT 0.0 .INDENT 3.5 .sp .EX GM_TORCH_MIN_BRIGHTNESS=10 .EE .UNINDENT .UNINDENT .sp توجه داشته باشید که gmobile صرفاً این اطلاعات را فراهم می‌کند. برنامه‌هایی که از فلاش به عنوان چراغ‌قوه استفاده می‌کنند مسئول اعمال آن هستند. .sp برای جزئیات بیشتر درباره نحوه افزودن این ویژگی‌ها به hwdb، بخش‌های زیر را ببینید. .SH "پیکربندی HWDB (CONFIGURING HWDB)" .sp پایگاه داده سخت‌افزار (hwdb) شامل مجموعه‌ای از قوانین تطبیق است که ویژگی‌های udev را هنگام اتصال دستگاه اختصاص داده و در دسترس قرار می‌دهد. این بخش فقط hwdb را در ارتباط با gmobile شرح می‌دهد و مستندات کاملی از نحوه کار hwdb نیست. برای مطالعه مستندات کامل، لطفاً صفحه راهنمای \fBhwdb(7)\fP را مشاهده کنید. .sp استفاده gmobile از hwdb به ویژگی‌هایی محدود می‌شود که systemd و فایل‌های قوانین سفارشی (در صورت وجود) ارائه می‌دهند. .SS "پرس‌وجو در hwdb (Querying the hwdb)" .sp برنامه gmobile در حال حاضر فقط از گره‌های دستگاه به شکل \fB/dev/input/eventX\fP استفاده می‌کند که در آن X شماره دستگاه مورد نظر است. اجرای \fBlibinput debug\-events\fP تمام دستگاه‌های موجود برای libinput و نام گره رویداد آن‌ها را فهرست می‌کند: .INDENT 0.0 .INDENT 3.5 .sp .EX $> sudo libinput debug\-events \-event0 DEVICE_ADDED gpio\-keys seat0 default group1 cap:k \-event2 DEVICE_ADDED 30370000.snvs:snvs\-powerkey seat0 default group2 cap:k \-event3 DEVICE_ADDED generic ft5x06 (f0) seat0 default group3 cap:t ntouches 10 calib \&... .EE .UNINDENT .UNINDENT .sp نام گره رویداد دستگاه خود را یادداشت کرده و آن را به یک مسیر سیستمی (syspath) به شکل \fB/sys/class/input/eventX\fP تبدیل کنید. این مسیر را می‌توان به \fBudevadm info\fP داد: .INDENT 0.0 .INDENT 3.5 .sp .EX $> udevadm info \-p /sys/class/input/event0/ P: /devices/platform/gpio\-keys/input/input0/event0 M: event0 R: 0 U: input D: c 13:64 N: input/event0 L: 0 S: input/by\-path/platform\-gpio\-keys\-event E: DEVPATH=/devices/platform/gpio\-keys/input/input0/event0 E: SUBSYSTEM=input E: DEVNAME=/dev/input/event0 E: MAJOR=13 E: MINOR=64 E: USEC_INITIALIZED=5327886 E: ID_INPUT=1 E: ID_INPUT_KEY=1 E: ID_PATH=platform\-gpio\-keys E: ID_PATH_TAG=platform\-gpio\-keys E: GM_WAKEUP_KEY_114=0 E: GM_WAKEUP_KEY_115=0 … .EE .UNINDENT .UNINDENT .sp خطوطی که با \fBE:\fP شروع می‌شوند، ویژگی‌های udev در دسترس برای برنامه‌ها هستند. ویژگی‌های اضافه شده توسط gmobile همگی دارای پیشوند \fIGM_\fP هستند. این ویژگی‌ها فقط در صورتی وجود دارند که یک مدخل hwdb تطبیق پیدا کند. .SS "بارگذاری مجدد hwdb (Reloading the hwdb)" .sp دیتابیس واقعی hwdb در یک فایل باینری روی دیسک ذخیره می‌شود و هر زمان که یک فایل \fB\&.hwdb\fP تغییر کند باید به صورت دستی به‌روزرسانی شود. این کار هم زمانی که کاربر به صورت دستی فایل \fB\&.hwdb\fP را ویرایش می‌کند و هم زمانی که gmobile مجموعه‌ای به‌روزشده از مدخل‌ها را ارائه می‌دهد، لازم است. .sp برای به‌روزرسانی فایل باینری روی دیسک، دستور زیر را اجرا کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX sudo systemd\-hwdb update .EE .UNINDENT .UNINDENT .sp سپس، برای فعال‌سازی بارگذاری مجدد تمام ویژگی‌ها روی دستگاه خود، اجرا کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX sudo udevadm trigger /sys/class/input/eventX .EE .UNINDENT .UNINDENT .sp سپس با \fBudevadm info\fP بررسی کنید که آیا ویژگی‌ها به‌روزرسانی شده‌اند یا خیر؛ بخش \fIپرس‌وجو در hwdb (Querying the hwdb)\fP را ببینید. اگر ویژگی جدیدی روی دستگاه ظاهر نشد، از \fBudevadm test\fP برای بررسی پیام‌های خطای udev و hwdb (مانند خطاهای نحوی در فایل‌های قوانین udev) استفاده کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX sudo udevadm test /sys/class/input/eventX .EE .UNINDENT .UNINDENT .SS "تغییر و اصلاح hwdb (Modifying the hwdb)" .sp این بخش برای کاربرانی کاربرد دارد که نیاز به افزودن، تغییر یا حذف یک مدخل hwdb برای دستگاه خود دارند. توجه داشته باشید که \fBhwdb بخشی از API عمومی نیست و ممکن است در هر زمان تغییر کند\fP\&. هنگامی که دستگاه به درستی به کار گرفته شد، تغییرات باید به مخزن gmobile ارسال شوند: \%\& .sp مدخل‌های hwdb تنها در صورتی اعمال می‌شوند که یک قانون udev با قالب تطبیق صحیح به hwdb ارجاع دهد. نرم‌افزار gmobile همراه با مجموعه‌ای از قوانین برای پرس‌وجو از hwdb ارائه می‌شود و قوانین مختلف با پیشوند خود مشخص می‌شوند. مجدداً تأکید می‌شود که \fBاین بخش جزئی از API عمومی نیست\fP\&. تطبیق‌های gmobile از رشته تحت‌اللفظی \(dqgmobile\(dq تشکیل شده‌اند و پس از آن نام دستگاه (با پیشوند \fIname:\fP) به همراه اولین سازگار درخت دستگاه (device tree compatible) ماشین (با پیشوند \fIdt:\fP) یا modalias مربوط به dmi می‌آید. برای مثال: .INDENT 0.0 .INDENT 3.5 .sp .EX gmobile:name:gpio\-keys:dt:purism,librem5* .EE .UNINDENT .UNINDENT .sp نام دستگاه در مسیر \fI/sys/class/input/eventX/device/name\fP دستگاه در دسترس است، در حالی که سازگار درخت دستگاه در \fI/sys/firmware/devicetree/base/compatible\fP قرار دارد. .sp رشته تطبیق hwdb بخش اول مدخل hwdb است. بخش دوم ویژگی مورد نظر برای تنظیم است. هر مدخل hwdb می‌تواند با چندین دستگاه مطابقت داشته باشد و چندین ویژگی را اعمال کند. برای مثال: .INDENT 0.0 .INDENT 3.5 .sp .EX gmobile:name:gpio\-keys:dt:purism,librem5* GM_WAKEUP_KEY_114=0 GM_WAKEUP_KEY_115=0 .EE .UNINDENT .UNINDENT .sp در مثال بالا، روی دستگاه gpio\-keys منطبق، هر دو ویژگی اعمال خواهند شد. .sp پایگاه داده hwdb امکان حذف ویژگی‌ها را نمی‌دهد. در مواردی که یک ویژگی باید لغو شود (unset)، باید مقدار آن برابر 0 قرار گیرد. .sp برای آزمایش، هرگونه مدخل hwdb مختص کاربر باید در فایلی در مسیر \fI/etc/udev/hwdb.d/99\-gmobile.hwdb\fP قرار گیرد، اما لطفاً حتماً آن‌ها را به پروژه بالادست ارسال کنید، زیرا قالب hwdb ممکن است بدون اطلاع قبلی تغییر کند. .SH "همچنین ببینید (SEE ALSO)" .sp \fBhwdb(7)\fP \fBsystemd\-hwdb(8)\fP \fBphoc(1)\fP \fBphosh(1)\fP .\" End of generated man page.