TS.CONF(5) tslib TS.CONF(5)

ts.conf - فایل پیکربندی برای tslib، جهت کنترل صفحات لمسی در دستگاه‌های تعبیه‌شده (embedded).

ایدهٔ اصلی tslib داشتن یک کتابخانهٔ پایه است که خدمات استاندارد را ارائه می‌دهد، همراه با مجموعه‌ای از افزونه‌ها برای مدیریت تبدیل و فیلتر کردن داده‌ها بر اساس نیاز.

افزونه‌های مربوط به یک صفحهٔ لمسی خاص به‌طور خودکار توسط کتابخانه و تحت کنترل یک فایل پیکربندی ایستا یعنی /etc/ts.conf بارگذاری می‌شوند. فایل /etc/ts.conf اطلاعات پیکربندی پایه را به کتابخانه می‌دهد. هر خط یک ماژول و پارامترهای مربوط به آن ماژول را مشخص می‌کند. ماژول‌ها به ترتیب بارگذاری می‌شوند و نخستین ماژول، داده‌های صفحهٔ لمسی را پیش از بقیه پردازش می‌کند. به عنوان مثال:

module_raw input
module variance delta=30
module dejitter delta=100
module linear

جدیدترین نسخه‌های درایور ورودی tslib برای Xorg از hal جهت پیکربندی صفحهٔ لمسی در Xorg استفاده می‌کنند. متغیرهای محیطی تنها برای دستورات tslib مورد نیاز هستند.

TSLIB_TSDEVICE

اگر دستگاه صفحهٔ لمسی پیش‌فرض پیدا نشود، متغیر محیطی TSLIB_TSDEVICE را برابر با دستگاه صفحهٔ لمسی مورد نظر برای استفاده قرار دهید.

پیش‌فرض هنگام استفاده از ()ts_setup: تلاش می‌شود مسیرهای /dev/input/ts ،/dev/input/touchscreen و /dev/touchscreen/ucb1x00 باز شوند و در لینوکس، سپس /dev/input/event* برای یافتن نخستین دستگاه دارای ویژگی INPUT_PROP_DIRECT اسکن می‌شود.

TSLIB_CONSOLEDEVICE

دستگاه کنسول پیش‌فرض tslib.

پیش‌فرض: /dev/tty

TSLIB_CALIBFILE

داده‌های کالیبراسیون به‌دست‌آمده از طریق ts_calibrate را ذخیره می‌کند.

پیش‌فرض: /etc/pointercal

TSLIB_CONFFILE

تعیین مکانی متفاوت برای خود فایل پیکربندی ts.conf.

پیش‌فرض: /etc/ts.conf.

TSLIB_FBDEVICE

دستگاه فریم‌بافر برای استفاده جهت پشتیبانی از صفحهٔ لمسی.

پیش‌فرض: /dev/fb0.

TSLIB_PLUGINDIR

مسیر دایرکتوری افزونه‌ها برای tslib.

پیش‌فرض: /usr/lib/$triplet/ts0/ که در آن triplet مسیر چندمعماری (MultiArch) است، مانند arm-linux-gnueabi.

dejitter

لرزش (jitter) در مختصات‌های X و Y را حذف می‌کند. این کار با اعمال یک فیلتر هموارساز وزن‌دار انجام می‌شود. نمونه‌های اخیر بیشترین وزن و نمونه‌های قدیمی‌تر وزن کمتری دارند. این امر دستیابی به نرخ ورودی به خروجی ۱:۱ را امکان‌پذیر می‌سازد.
•delta

مجذور فاصلهٔ بین دو نمونه ((X2-X1)^2 + (Y2-Y1)^2) که آستانهٔ حرکت سریع را مشخص می‌کند. اگر قلم با سرعت حرکت کند، امکان هموارسازی حرکت قلم وجود ندارد و علاوه بر این حرکت سریع در هر صورت دقیق نیست؛ بنابراین اگر حرکت سریع تشخیص داده شود، ماژول انباشتگی داده‌ها را نادیده گرفته و صرفاً ورودی را به خروجی منتقل می‌کند.

linear

ماژول مقیاس‌بندی خطی، که عمدتاً برای تبدیل مختصات صفحهٔ لمسی به مختصات صفحهٔ نمایش به کار می‌رود.
•rot

چرخش مختصات لمسی. 0=بدون چرخش، 1=در جهت عقربه‌های ساعت (CW)، 2=وارونه (UD)، 3=در خلاف جهت عقربه‌های ساعت (CCW). پیش‌فرض: چرخش صفحه که با ts_calibrate (گزینهٔ r-) استفاده شده است.

•xyswap

جابجایی مختصات‌های X و Y -- در صورت استفاده از ابزار کالیبراسیون خطی جدید ts_calibrate، دیگر مورد استفاده نبوده و نیازی به آن نیست.

•pressure_offset

آفست اعمال‌شده روی مقدار فشار. پیش‌فرض: 0.

•pressure_mul

ضریبی که مقدار فشار در آن ضرب می‌شود. پیش‌فرض: 1.

•pressure_div

مقداری که مقدار فشار بر آن تقسیم می‌شود. پیش‌فرض: 1.

iir

فیلتر پاسخ ضربهٔ نامحدود (Infinite impulse response). مانند dejitter، این یک فیلتر هموارساز برای حذف نویزهای سطح پایین است. میان حذف نویز (هموارسازی) و پاسخ‌دهی سریع، موازنه‌ای وجود دارد. پارامترهای N و D سطح هموارسازی را در قالب یک کسر (N/D) تعیین می‌کنند.
•N

صورت کسر هموارسازی. پیش‌فرض: 0.

•D

مخرج کسر هموارسازی. پیش‌فرض: 1.

pthres

فیلتر آستانهٔ فشار. با فرض این‌که رهاسازی همیشه فشار 0 و لمس همواره فشار 1 =< دارد، این فیلتر نمونه‌های پایین‌تر یا بالاتر از آستانهٔ فشار مشخص‌شده را رد می‌کند.
•pmin

حداقل مقدار فشار برای معتبر بودن یک نمونه. پیش‌فرض: 1.

•pmax

حداکثر مقدار فشار برای معتبر بودن یک نمونه. پیش‌فرض: INT_MAX.

crop

نادیده گرفتن نقاط لمسی خارج از فریم‌بافر.

debounce

سازوکار حذف لرزش (debounce) ساده که رویدادهای ورودی را برای مدت‌زمان مشخصی پس از توقف ژست لمسی نادیده می‌گیرد.
•drop_threshold

نادیده گرفتن رویدادها تا این تعداد میلی‌ثانیه پس از آخرین رویداد رهاسازی (release). پیش‌فرض: 0.

skip

نادیده گرفتن nhead نمونه پس از لمس و ntail نمونه پیش از رهاسازی. این ویژگی زمانی مفید است که برای یک دستگاه، اولین یا آخرین نمونه‌ها نامعتبر و غیرقابل‌اطمینان باشند.
•nhead

تعداد رویدادهایی که پس از فشار نادیده گرفته می‌شوند. پیش‌فرض: 1.

•ntail

تعداد رویدادهایی که پیش از رهاسازی نادیده گرفته می‌شوند. پیش‌فرض: 1.

median

مشابه عملکرد فیلتر variance، فیلتر میانه جهش‌های ناگهانی (spikes) را در ژست لمسی مهار می‌کند.
•depth

تعداد نمونه‌هایی که فیلتر میانه روی آن‌ها اعمال می‌شود. پیش‌فرض: 3.

invert

معکوس کردن مقادیر در جهت X و/یا Y حول یک مقدار داده‌شده.
•x0

مقدار محور X (افقی) که وارونگی حول آن انجام می‌شود. پیش‌فرض: 0.

•y0

مقدار محور Y (عمودی) که وارونگی حول آن انجام می‌شود. پیش‌فرض: 0.

lowpass

فیلتر پایین‌گذر میانگین‌گیر نمایی ساده.
•factor

مقادیر ممیز شناور بین 0 و 1. پیش‌فرض: 0.4.

•threshold

حداقل فاصلهٔ x یا y بین دو نمونه برای آغاز اعمال فیلتر. پیش‌فرض: 2.

evthres

تعداد نمونه‌های مورد نیاز از دستگاه پس از معتبر شناخته شدن لمس. این فیلتر در صورتی که تعداد نمونه‌های بین «فشردن» (down) و «برداشتن» (up) بسیار کم باشد، ضربه (tapping) را نادیده می‌گیرد.
•N

حداقل تعداد رویدادهای مورد نیاز بین «فشردن» (down) و «برداشتن» (up). پیش‌فرض: 5.

variance

تمام تلاش خود را به کار می‌بندد تا نویز تصادفی حاصل از مبدل‌های آنالوگ به دیجیتال (ADC) صفحهٔ لمسی را فیلتر کند. این کار با محدود کردن سرعت حرکت نمونه به یک مقدار مشخص انجام می‌شود (برای مثال فرض بر این است که قلم سریع‌تر از یک آستانهٔ خاص حرکت نمی‌کند).

این یک فیلتر حریصانه (greedy) است، یعنی تعداد نمونه‌هایی که در خروجی می‌دهد کمتر از نمونه‌هایی است که در ورودی دریافت می‌کند. این فیلتر فاقد پشتیبانی از چندلمسی (multitouch) است.

•delta

تعیین مجذور فاصله در واحدهای صفحهٔ لمسی بین موقعیت قبلی و فعلی قلم (مانند (X2-X1)^2 + (Y2-Y1)^2). این مقدار معیار تشخیص دور یا نزدیک بودن دو نمونه به یکدیگر را تعیین می‌کند.

اگر فاصلهٔ بین نمونهٔ قبلی و فعلی دور باشد، نمونه به عنوان نویز احتمالی علامت‌گذاری می‌شود. این هنوز به معنای دور انداخته شدن آن نیست؛ اگر مقدار بعدی به آن نزدیک باشد، این رویداد صرفاً یک حرکت سریع عادی در نظر گرفته شده و به لایهٔ بعدی فرستاده می‌شود. همچنین، اگر نمونهٔ پس از نویز احتمالی از هر دو نمونهٔ قبلی دور باشد، این نیز یک رویداد حرکت سریع تلقی شده و نمونه به جریان خروجی منتقل می‌گردد.

پشتیبانی سخت‌افزاری


در لینوکس، در صورت امکان از module_raw input استفاده کنید. سایر ماژول‌های دسترسی خام، درایورهای فضای کاربری مختص دستگاه هستند. اگر به یکی از آن‌ها نیاز دارید، هنگام کامپایل tslib آن را صراحتاً فعال کنید. فهرست ماژول‌های فعال به صورت پیش‌فرض ممکن است در آینده کاهش یابد. module_raw input از قابلیت چندلمسی (MT) نیز پشتیبانی می‌کند.
module_raw دستگاه‌های پشتیبانی‌شده رابط پلتفرم‌ها MT نحوهٔ فعال‌سازی
input تمام درایورهای evdev لینوکس هر موردی (درایور) /dev/input/ Linux, FreeBSD بله به‌طور پیش‌فرض فعال است
arctic2 IBM Arctic II . Linux, BSD, Hurd, Haiku خیر --enable-arctic2
collie Sharp Zaurus SL-5000d/SL-5500 . Linux, BSD, Hurd, Haiku خیر --enable-collie
corgi Sharp Zaurus SL-C700 . Linux, BSD, Hurd, Haiku خیر --enable-corgi
dmc_dus3000 DMC DUS Series (DUS3000, ...) UART Linux خیر --enable-dmc_dus3000
dmc DMC (others) . Linux, BSD, Hurd, Haiku خیر --enable-dmc
galax eGalax 100, 112, 210 any (driver) Linux, BSD خیر --enable-galax
h3600 Compaq IPAQ . Linux, BSD, Hurd, Haiku خیر --enable-h3600
mk712 Hitachi Webpad . Linux, BSD, Hurd, Haiku خیر --enable-mk712
tatung Tatung Webpad . Linux, BSD, Hurd, Haiku خیر --enable-tatung
touchkit Touchkit SAT4000UR RS232 Linux, BSD, Hurd خیر به‌طور پیش‌فرض فعال است
ucb1x00 صفحات لمسی UCB1x00 . Linux, BSD, Hurd, Haiku خیر --enable-ucb1x00
waveshare صفحات لمسی Waveshare /dev/hidrawX Linux خیر به‌طور پیش‌فرض فعال است
cy8mrln_palmpre در Palm Pre/Pre Plus/Pre 2 . Linux خیر --enable-cy8mrln-palmpre
one_wire_ts_input صفحهٔ لمسی یک‌سیمه FriendlyARM . Linux خیر --enable-one-wire-ts-input
input_evdev درایورهای evdev لینوکس (libevdev) . Linux بله --enable-input-evdev

ts_calibrate(1), ts_test(1), ts_test_mt(1)