.\" Copyright (c) 2017, Martin Kepplinger .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .TH "TS.CONF" "5" "" "" "tslib" .SH "نام (NAME)" ts.conf \- فایل پیکربندی برای tslib، جهت کنترل صفحات لمسی در دستگاه‌های تعبیه‌شده (embedded)\&. .SH "توضیحات (DESCRIPTION)" .PP ایدهٔ اصلی tslib داشتن یک کتابخانهٔ پایه است که خدمات استاندارد را ارائه می‌دهد، همراه با مجموعه‌ای از افزونه‌ها برای مدیریت تبدیل و فیلتر کردن داده‌ها بر اساس نیاز\&. .PP افزونه‌های مربوط به یک صفحهٔ لمسی خاص به‌طور خودکار توسط کتابخانه و تحت کنترل یک فایل پیکربندی ایستا یعنی /etc/ts\&.conf بارگذاری می‌شوند\&. فایل /etc/ts\&.conf اطلاعات پیکربندی پایه را به کتابخانه می‌دهد\&. هر خط یک ماژول و پارامترهای مربوط به آن ماژول را مشخص می‌کند\&. ماژول‌ها به ترتیب بارگذاری می‌شوند و نخستین ماژول، داده‌های صفحهٔ لمسی را پیش از بقیه پردازش می‌کند\&. به عنوان مثال: .sp .if n \{\ .RS 4 .\} .nf module_raw input module variance delta=30 module dejitter delta=100 module linear .fi .if n \{\ .RE .\} .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .PP جدیدترین نسخه‌های درایور ورودی tslib برای Xorg از \fBhal\fR جهت پیکربندی صفحهٔ لمسی در Xorg استفاده می‌کنند\&. متغیرهای محیطی تنها برای دستورات tslib مورد نیاز هستند\&. .PP \fBTSLIB_TSDEVICE\fR .RS 4 اگر دستگاه صفحهٔ لمسی پیش‌فرض پیدا نشود، متغیر محیطی \fBTSLIB_TSDEVICE\fR را برابر با دستگاه صفحهٔ لمسی مورد نظر برای استفاده قرار دهید\&. .sp پیش‌فرض هنگام استفاده از ()ts_setup: تلاش می‌شود مسیرهای /dev/input/ts ،/dev/input/touchscreen و /dev/touchscreen/ucb1x00 باز شوند و در لینوکس، سپس /dev/input/event* برای یافتن نخستین دستگاه دارای ویژگی INPUT_PROP_DIRECT اسکن می‌شود\&. .RE .PP \fBTSLIB_CONSOLEDEVICE\fR .RS 4 دستگاه کنسول پیش‌فرض tslib\&. .sp پیش‌فرض: /dev/tty .RE .PP \fBTSLIB_CALIBFILE\fR .RS 4 داده‌های کالیبراسیون به‌دست‌آمده از طریق ts_calibrate را ذخیره می‌کند\&. .sp پیش‌فرض: /etc/pointercal .RE .PP \fBTSLIB_CONFFILE\fR .RS 4 تعیین مکانی متفاوت برای خود فایل پیکربندی ts\&.conf\&. .sp پیش‌فرض: /etc/ts\&.conf\&. .RE .PP \fBTSLIB_FBDEVICE\fR .RS 4 دستگاه فریم‌بافر برای استفاده جهت پشتیبانی از صفحهٔ لمسی\&. .sp پیش‌فرض: /dev/fb0\&. .RE .PP \fBTSLIB_PLUGINDIR\fR .RS 4 مسیر دایرکتوری افزونه‌ها برای tslib\&. .sp پیش‌فرض: /usr/lib/$triplet/ts0/ که در آن triplet مسیر چندمعماری (MultiArch) است، مانند arm\-linux\-gnueabi\&. .RE .SH "پارامترهای ماژول (MODULE PARAMETERS)" .PP \fBdejitter\fR .RS 4 لرزش (jitter) در مختصات‌های X و Y را حذف می‌کند\&. این کار با اعمال یک فیلتر هموارساز وزن‌دار انجام می‌شود\&. نمونه‌های اخیر بیشترین وزن و نمونه‌های قدیمی‌تر وزن کمتری دارند\&. این امر دستیابی به نرخ ورودی به خروجی ۱:۱ را امکان‌پذیر می‌سازد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBdelta\fR .sp مجذور فاصلهٔ بین دو نمونه ((X2\-X1)^2 + (Y2\-Y1)^2) که آستانهٔ حرکت سریع را مشخص می‌کند\&. اگر قلم با سرعت حرکت کند، امکان هموارسازی حرکت قلم وجود ندارد و علاوه بر این حرکت سریع در هر صورت دقیق نیست؛ بنابراین اگر حرکت سریع تشخیص داده شود، ماژول انباشتگی داده‌ها را نادیده گرفته و صرفاً ورودی را به خروجی منتقل می‌کند\&. .RE .RE .PP \fBlinear\fR .RS 4 ماژول مقیاس‌بندی خطی، که عمدتاً برای تبدیل مختصات صفحهٔ لمسی به مختصات صفحهٔ نمایش به کار می‌رود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrot\fR .sp چرخش مختصات لمسی\&. 0=بدون چرخش، 1=در جهت عقربه‌های ساعت (CW)، 2=وارونه (UD)، 3=در خلاف جهت عقربه‌های ساعت (CCW)\&. پیش‌فرض: چرخش صفحه که با ts_calibrate (گزینهٔ r\-) استفاده شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBxyswap\fR .sp جابجایی مختصات‌های X و Y \-\- در صورت استفاده از ابزار کالیبراسیون خطی جدید ts_calibrate، دیگر مورد استفاده نبوده و نیازی به آن نیست\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpressure_offset\fR .sp آفست اعمال‌شده روی مقدار فشار\&. پیش‌فرض: 0\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpressure_mul\fR .sp ضریبی که مقدار فشار در آن ضرب می‌شود\&. پیش‌فرض: 1\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpressure_div\fR .sp مقداری که مقدار فشار بر آن تقسیم می‌شود\&. پیش‌فرض: 1\&. .RE .RE .PP \fBiir\fR .RS 4 فیلتر پاسخ ضربهٔ نامحدود (Infinite impulse response)\&. مانند dejitter، این یک فیلتر هموارساز برای حذف نویزهای سطح پایین است\&. میان حذف نویز (هموارسازی) و پاسخ‌دهی سریع، موازنه‌ای وجود دارد\&. پارامترهای N و D سطح هموارسازی را در قالب یک کسر (N/D) تعیین می‌کنند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBN\fR .sp صورت کسر هموارسازی\&. پیش‌فرض: 0\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBD\fR .sp مخرج کسر هموارسازی\&. پیش‌فرض: 1\&. .RE .RE .PP \fBpthres\fR .RS 4 فیلتر آستانهٔ فشار\&. با فرض این‌که رهاسازی همیشه فشار 0 و لمس همواره فشار 1 =< دارد، این فیلتر نمونه‌های پایین‌تر یا بالاتر از آستانهٔ فشار مشخص‌شده را رد می‌کند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpmin\fR .sp حداقل مقدار فشار برای معتبر بودن یک نمونه\&. پیش‌فرض: 1\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpmax\fR .sp حداکثر مقدار فشار برای معتبر بودن یک نمونه\&. پیش‌فرض: INT_MAX\&. .RE .RE .PP \fBcrop\fR .RS 4 نادیده گرفتن نقاط لمسی خارج از فریم‌بافر\&. .sp .RS 4 .RE .RE .PP \fBdebounce\fR .RS 4 سازوکار حذف لرزش (debounce) ساده که رویدادهای ورودی را برای مدت‌زمان مشخصی پس از توقف ژست لمسی نادیده می‌گیرد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBdrop_threshold\fR .sp نادیده گرفتن رویدادها تا این تعداد میلی‌ثانیه پس از آخرین رویداد رهاسازی (release)\&. پیش‌فرض: 0\&. .RE .RE .PP \fBskip\fR .RS 4 نادیده گرفتن nhead نمونه پس از لمس و ntail نمونه پیش از رهاسازی\&. این ویژگی زمانی مفید است که برای یک دستگاه، اولین یا آخرین نمونه‌ها نامعتبر و غیرقابل‌اطمینان باشند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnhead\fR .sp تعداد رویدادهایی که پس از فشار نادیده گرفته می‌شوند\&. پیش‌فرض: 1\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBntail\fR .sp تعداد رویدادهایی که پیش از رهاسازی نادیده گرفته می‌شوند\&. پیش‌فرض: 1\&. .RE .RE .PP \fBmedian\fR .RS 4 مشابه عملکرد فیلتر variance، فیلتر میانه جهش‌های ناگهانی (spikes) را در ژست لمسی مهار می‌کند\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBdepth\fR .sp تعداد نمونه‌هایی که فیلتر میانه روی آن‌ها اعمال می‌شود\&. پیش‌فرض: 3\&. .RE .RE .PP \fBinvert\fR .RS 4 معکوس کردن مقادیر در جهت X و/یا Y حول یک مقدار داده‌شده\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBx0\fR .sp مقدار محور X (افقی) که وارونگی حول آن انجام می‌شود\&. پیش‌فرض: 0\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBy0\fR .sp مقدار محور Y (عمودی) که وارونگی حول آن انجام می‌شود\&. پیش‌فرض: 0\&. .RE .RE .PP \fBlowpass\fR .RS 4 فیلتر پایین‌گذر میانگین‌گیر نمایی ساده\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBfactor\fR .sp مقادیر ممیز شناور بین 0 و 1\&. پیش‌فرض: 0.4\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBthreshold\fR .sp حداقل فاصلهٔ x یا y بین دو نمونه برای آغاز اعمال فیلتر\&. پیش‌فرض: 2\&. .RE .RE .PP \fBevthres\fR .RS 4 تعداد نمونه‌های مورد نیاز از دستگاه پس از معتبر شناخته شدن لمس\&. این فیلتر در صورتی که تعداد نمونه‌های بین «فشردن» (down) و «برداشتن» (up) بسیار کم باشد، ضربه (tapping) را نادیده می‌گیرد\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBN\fR .sp حداقل تعداد رویدادهای مورد نیاز بین «فشردن» (down) و «برداشتن» (up)\&. پیش‌فرض: 5\&. .RE .RE .PP \fBvariance\fR .RS 4 تمام تلاش خود را به کار می‌بندد تا نویز تصادفی حاصل از مبدل‌های آنالوگ به دیجیتال (ADC) صفحهٔ لمسی را فیلتر کند\&. این کار با محدود کردن سرعت حرکت نمونه به یک مقدار مشخص انجام می‌شود (برای مثال فرض بر این است که قلم سریع‌تر از یک آستانهٔ خاص حرکت نمی‌کند)\&. .sp این یک فیلتر حریصانه (greedy) است، یعنی تعداد نمونه‌هایی که در خروجی می‌دهد کمتر از نمونه‌هایی است که در ورودی دریافت می‌کند\&. این فیلتر \fBفاقد پشتیبانی از چندلمسی (multitouch)\fR است\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBdelta\fR .sp تعیین مجذور فاصله در واحدهای صفحهٔ لمسی بین موقعیت قبلی و فعلی قلم (مانند (X2\-X1)^2 + (Y2\-Y1)^2)\&. این مقدار معیار تشخیص دور یا نزدیک بودن دو نمونه به یکدیگر را تعیین می‌کند\&. .sp اگر فاصلهٔ بین نمونهٔ قبلی و فعلی دور باشد، نمونه به عنوان نویز احتمالی علامت‌گذاری می‌شود\&. این هنوز به معنای دور انداخته شدن آن نیست؛ اگر مقدار بعدی به آن نزدیک باشد، این رویداد صرفاً یک حرکت سریع عادی در نظر گرفته شده و به لایهٔ بعدی فرستاده می‌شود\&. همچنین، اگر نمونهٔ پس از نویز احتمالی از هر دو نمونهٔ قبلی دور باشد، این نیز یک رویداد حرکت سریع تلقی شده و نمونه به جریان خروجی منتقل می‌گردد\&. .RE .RE .PP .BR پشتیبانی .BR سخت‌افزاری .sp .RE در لینوکس، در صورت امکان از \fBmodule_raw input\fR استفاده کنید\&. سایر ماژول‌های دسترسی خام، درایورهای فضای کاربری مختص دستگاه هستند\&. اگر به یکی از آن‌ها نیاز دارید، هنگام کامپایل tslib آن را صراحتاً فعال کنید\&. فهرست ماژول‌های فعال به صورت پیش‌فرض ممکن است در آینده کاهش یابد\&. \fBmodule_raw input\fR از قابلیت چندلمسی (MT) نیز پشتیبانی می‌کند\&. .TS allbox; lb lb lb lb lb lb l l l l l l. module_raw دستگاه‌های پشتیبانی‌شده رابط پلتفرم‌ها MT نحوهٔ فعال‌سازی T{ .BR input T} تمام درایورهای evdev لینوکس هر موردی (درایور) /dev/input/ Linux, FreeBSD بله به‌طور پیش‌فرض فعال است T{ .BR arctic2 T} IBM Arctic II . Linux, BSD, Hurd, Haiku خیر --enable-arctic2 T{ .BR collie T} Sharp Zaurus SL-5000d/SL-5500 . Linux, BSD, Hurd, Haiku خیر --enable-collie T{ .BR corgi T} Sharp Zaurus SL-C700 . Linux, BSD, Hurd, Haiku خیر --enable-corgi T{ .BR dmc_dus3000 T} DMC DUS Series (DUS3000, ...) UART Linux خیر --enable-dmc_dus3000 T{ .BR dmc T} DMC (others) . Linux, BSD, Hurd, Haiku خیر --enable-dmc T{ .BR galax T} eGalax 100, 112, 210 any (driver) Linux, BSD خیر --enable-galax T{ .BR h3600 T} Compaq IPAQ . Linux, BSD, Hurd, Haiku خیر --enable-h3600 T{ .BR mk712 T} Hitachi Webpad . Linux, BSD, Hurd, Haiku خیر --enable-mk712 T{ .BR tatung T} Tatung Webpad . Linux, BSD, Hurd, Haiku خیر --enable-tatung T{ .BR touchkit T} Touchkit SAT4000UR RS232 Linux, BSD, Hurd خیر به‌طور پیش‌فرض فعال است T{ .BR ucb1x00 T} صفحات لمسی UCB1x00 . Linux, BSD, Hurd, Haiku خیر --enable-ucb1x00 T{ .BR waveshare T} صفحات لمسی Waveshare /dev/hidrawX Linux خیر به‌طور پیش‌فرض فعال است T{ .BR cy8mrln_palmpre T} در Palm Pre/Pre Plus/Pre 2 . Linux خیر --enable-cy8mrln-palmpre T{ .BR one_wire_ts_input T} صفحهٔ لمسی یک‌سیمه FriendlyARM . Linux خیر --enable-one-wire-ts-input T{ .BR input_evdev T} درایورهای evdev لینوکس (libevdev) . Linux بله --enable-input-evdev .TE .SH "همچنین ببینید (SEE ALSO)" .BR ts_calibrate (1), .BR ts_test (1), .BR ts_test_mt (1)