.TH XCAPE 1 2014-02-13 "John Hill" "xcape Manual" .SH "نام (NAME)" xcape \- استفاده از یک کلید تغییردهنده به عنوان کلیدی دیگر .SH "خلاصه دستور (SYNOPSIS)" .B xcape [\fB-d\fR] [\fB-t\fR \fItimeout\fR] [\fB-e\fR \fImap-expression\fR] .SH "توضیحات (DESCRIPTION)" \fBxcape\fR به یک کلید تغییردهنده (modifier) این امکان را می‌دهد که در صورت فشرده شدن و رها شدن به تنهایی، به عنوان کلیدی دیگر عمل کند. رفتار پیش‌فرض این است که به جای \fIControl_L\fR (کلید کنترل چپ)، کلید \fIEscape\fR را تولید کند. .SH "گزینه‌ها (OPTIONS)" .TP .BR \-d حالت اشکال‌زدایی. به صورت یک فرآیند در پیش‌زمینه اجرا خواهد شد. .TP .BR \-t " " \fItimeout\fR تعیین یک \fItimeout\fR (مهلت زمانی) بر حسب میلی‌ثانیه. اگر کلیدی را بیشتر از \fItimeout\fR نگه دارید، هیچ رویداد کلیدی تولید نخواهد شد. .TP .BR \-e " " \fImap-expression\fR استفاده از \fImap-expression\fR به عنوان عبارت(ها). .SH "ساختار عبارت (EXPRESSION SYNTAX)" ساختار عبارت به صورت \'\fBModKey\fR=\fBKey\fR[|\fBOtherKey\fR]\' است. می‌توان چندین عبارت را که با نقطه\-ویرگول (;) از هم جدا شده‌اند، ارسال کرد. .PP فهرستی از keysymها را می‌توانید در فایل سرآیند <\fIX11/keysymdef.h\fR> (بدون پیشوند \fIXK_\fR) پیدا کنید. .PP توجه داشته باشید که کلیدهای تغییریافته با Shift باید به صورت یک کلید Shift و به دنبال آن کلیدی که فشرده می‌شود مشخص شوند، نه با نام واقعی نویسه. به عنوان مثال برای تولید «\fI{\fR» می‌توان از عبارت \'\fIModKey\fR=\fIShift_L\fR|\fIbracketleft\fR\' استفاده کرد (با این فرض که کلیدی دارید که \'{\' بالای \'[\' قرار دارد). .PP همچنین می‌توانید \fBModKey\fR را در مبنای ده (پیشوند \fI#\fR)، مبنای هشت (\fI#0\fR)، یا مبنای شانزده (\fI#0x\fR) مشخص کنید. این مقدار به عنوان یک keycode تفسیر خواهد شد، مگر اینکه هیچ نام کلید متناظری یافت نشود. .SH "مثال‌ها (EXAMPLES)" .PP تنظیم Shift چپ برای تولید Escape در صورت فشرده و رها شدن تکی، و تنظیم Control چپ برای تولید ترکیب Ctrl\-O در صورت فشرده و رها شدن تکی: .RS \fBxcape\fR \fB-e\fR '\fIShift_L\fR=\fIEscape\fR;\fIControl_L\fR=\fIControl_L\fR|\fIO\fR' .RE .PP در ترکیب با xmodmap می‌توان کاری کرد که یک کلید معمولی به عنوان یک تغییردهنده اضافی عمل کند. ابتدا کلید را با xmodmap به تغییردهنده نگاشت کنید و سپس با \fBxcape\fR تغییردهنده را دوباره به کلید نگاشت نمایید. به عنوان مثال، با دنباله دستورهای زیر می‌توان کاری کرد که کلید فاصله (space bar) هنگام نگه داشتن، به عنوان یک کلید ctrl اضافی عمل کند: .PP ابتدا، keysym یک تغییردهنده بلااستفاده را به keycode کلید فاصله نگاشت کرده و آن را به یک تغییردهنده control تبدیل کنید. این کلید باید یک کلید موجود باشد تا emacs با فشرده شدن آن دچار اختلال نشود. کلید Hyper_L گزینه مناسبی است. .PP .RS .nf \fBspare_modifier\fR="\fIHyper_L\fR" \fBxmodmap\fR \fB-e\fR "\fBkeycode\fR \fI65\fR = \fI$spare_modifier\fR" \fBxmodmap\fR \fB-e\fR "\fBremove\fR \fImod4\fR = \fI$spare_modifier\fR" # hyper_l is mod4 by default \fBxmodmap\fR \fB-e\fR "\fBadd\fR \fIControl\fR = \fI$spare_modifier\fR" .fi .RE .PP سپس، space را به یک keycode بلااستفاده نگاشت کنید (تا برای استفاده \fBxcape\fR در دسترس بماند). .PP .RS \fBxmodmap\fR \fR-e\fR "\fBkeycode\fR \fIany\fR = \fIspace\fR" .RE .PP در نهایت از \fBxcape\fR استفاده کنید تا کلید فاصله با یک بار فشردن و رها کردن سریع، نویسه فاصله را تولید کند. .PP .RS \fBxcape\fR \fB-e\fR "\fI$spare_modifier\fR=\fIspace\fR" .RE .SH "همچنین ببینید (SEE ALSO)" \fBxmodmap\fR(1), \fBxev\fR(1) .SH "نویسندگان (AUTHORS)" \fBxcape\fR توسط Albin Olsson نوشته شده است (albin dot olsson at gmail dot com)