انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: دزدیدن سیگنال خروجی صفحه کلید!(حل شد)  (دفعات بازدید: 1648 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین sajed68

  • Jr. Member
  • *
  • ارسال: 52
  • جنسیت : پسر
سلام به همگی
اول بگم نمیخوام کار ترسناکی انجام بدم! فقط میخوام با پایتون (نمیدونم چرا ولی ترجیحا ۲) یک برنامه بنویسم که مسیر کلیدها رو عوض کنه. مثلا اگه کلید ۵ ماشین حسابی رو زدم چیزی ننویسه یا یک حرف دیگه بجاش بنویسه، ویا اشاره گر جابجا بشه. کلا دنبال چیزی شبیه :
https://pypi.python.org/pypi/PyUserInput/0.1.9
هستم. ولی مشکلش اینه که نمیتونم بهش بگم وقتی وقفه صفحه کلید اتفاق افتاد، فقط به من خبر بده چیزی ننویس ( به قول خودم سیگنال صفحه کلید رو بدزده!).
این رو هم بگم که میخوام این وقفه روی کل صفحه اعمال بشه نه روی پنجره ای مثل tkinter یا امثال این( یعنی وقتی برنامه اجرا هست، هرجایی که کاربر کلید رو فشار میده برنامه بتونه کلیدها رو تغییر مسیر بده)
« آخرین ویرایش: 01 امرداد 1394، 03:24 ب‌ظ توسط sajed68 »

آفلاین { AliReaza }

  • Hero Member
  • *
  • ارسال: 866
  • جنسیت : پسر
  • اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی، دیگر در مورد آزادی شعار نده...
پاسخ : دزدیدن سیگنال خروجی صفحه کلید!
« پاسخ #1 : 30 تیر 1394، 05:20 ب‌ظ »
سلام به همگی
اول بگم نمیخوام کار ترسناکی انجام بدم! فقط میخوام با پایتون (نمیدونم چرا ولی ترجیحا ۲) یک برنامه بنویسم که مسیر کلیدها رو عوض کنه. مثلا اگه کلید ۵ ماشین حسابی رو زدم چیزی ننویسه یا یک حرف دیگه بجاش بنویسه، ویا اشاره گر جابجا بشه. کلا دنبال چیزی شبیه :
https://pypi.python.org/pypi/PyUserInput/0.1.9
هستم. ولی مشکلش اینه که نمیتونم بهش بگم وقتی وقفه صفحه کلید اتفاق افتاد، فقط به من خبر بده چیزی ننویس ( به قول خودم سیگنال صفحه کلید رو بدزده!).
این رو هم بگم که میخوام این وقفه روی کل صفحه اعمال بشه نه روی پنجره ای مثل tkinter یا امثال این( یعنی وقتی برنامه اجرا هست، هرجایی که کاربر کلید رو فشار میده برنامه بتونه کلیدها رو تغییر مسیر بده)
قبلا یکی از دوستان بنده همچین کاری انجام داده بود.

یادمه که همین مشکل شما را داشت و فقط می تونست در برنامه از روش فوق استفاده کنه. در حالی که مثل شما می خواست در همه جا کار کنه.

بعد چند وقت بهم گفت که باید کاری میکرد که برنامه در اولیت درخواست های ورودی قرار داشته باشه، و با توجه به دستور دریافتی خروجی را تنظیم کرد. و مثالی برام گفت، مشابه مثال شما.

تا اونجایی که من میدونم، روش کار به این شکل میشه که شما باید یک برنامه KeyBoard درست کنید و آنرا جایگزین برنامه فعلی کنید.

البته دوستان دیگر در این مورد اطلاعات بیشتری دارند. من فقط اطلاعات خودم را در میان گذاشتم. امیدارم اطلاعاتم اشتباه نباشه.

آفلاین alireza.crs

  • Sr. Member
  • *
  • ارسال: 491
  • جنسیت : پسر
پاسخ : دزدیدن سیگنال خروجی صفحه کلید!
« پاسخ #2 : 30 تیر 1394، 08:00 ب‌ظ »
میتونی keymap خودتو بسازی و کاری کنی کاربر از اون استفاده کنه
https://wiki.archlinux.org/index.php/Keyboard_configuration_in_console

آفلاین sajed68

  • Jr. Member
  • *
  • ارسال: 52
  • جنسیت : پسر
پاسخ : دزدیدن سیگنال خروجی صفحه کلید!
« پاسخ #3 : 30 تیر 1394، 09:38 ب‌ظ »
نقل‌قول
میتونی keymap خودتو بسازی و کاری کنی کاربر از اون استفاده کنه
ممنون البته پاسخ :
نقل‌قول
تا اونجایی که من میدونم، روش کار به این شکل میشه که شما باید یک برنامه KeyBoard درست کنید و آنرا جایگزین برنامه فعلی کنید.
رو که خوندم داشتم به یه همچین چیزی فکر میکردم!
حالا باید ببینم چقدر این کار میتونه پیچیده باشه.
به هر حال ممنونم از شما دوستان

آفلاین sajed68

  • Jr. Member
  • *
  • ارسال: 52
  • جنسیت : پسر
پاسخ : دزدیدن سیگنال خروجی صفحه کلید!(حل شد)
« پاسخ #4 : 01 امرداد 1394، 03:43 ب‌ظ »
ممنون از دوستان «alireza.crs» و « { AliReaza }» که راهنمایی مفیدی کردن.
جایی خوندم که گفت به تنهایی با پایتون نمیشه این کار رو کرد، البته درستی حرفش رو نمیدونم یعنی علمم اونقدری نیست که بتونم فعلا نقضش کنم! گفت باید یک چیزی شبیه درایور بنویسم!
خب من هم که کار سخت بلد نیستم رفتم سراغ دستکاری نقشه صفحه کلید، و یک نقشه واسه خودم طراحی کردم.
واسه کسانی که مثل خودم نمیدونن باید چکار کنن:
تو مسیر:
/usr/share/X11/xkb/symbolsنقشه ها اونجا هست. من از keypad میخواستم استفاده دیگه ای بکنم، خب اون رو ویرایش کردم.( فقط حتما قبل از ویرایش، پشتیبان یادتون نره- چون من یک بار خرابکاری کردم، صفحه کلید رو از کار انداختم :) ;D)
بعد یک نگاه به مسیر زیر بندازید:
/var/lib/xkbاونجا هرچی فایل با پسوند .xkm هست رو پاک کنید و دستور زیر رو بزنید:
sudo dpkg-reconfigure xkb-dataو در نهایت راه اندازی مجدد.
---------------------------------------------------------
چنانچه خرابکاری شد:
Recovery mode> chrootبعد نسخه پشتیبانتون رو جایگزین کنید و دوباره دستور زیر رو وارد کنید:
dpkg-reconfigure xkb-data

آفلاین sajjadsec

  • Jr. Member
  • *
  • ارسال: 66
  • جنسیت : پسر
پاسخ : دزدیدن سیگنال خروجی صفحه کلید!(حل شد)
« پاسخ #5 : 02 امرداد 1394، 10:39 ق‌ظ »
ممنون از دوستان «alireza.crs» و « { AliReaza }» که راهنمایی مفیدی کردن.
جایی خوندم که گفت به تنهایی با پایتون نمیشه این کار رو کرد، البته درستی حرفش رو نمیدونم یعنی علمم اونقدری نیست که بتونم فعلا نقضش کنم! گفت باید یک چیزی شبیه درایور بنویسم!
خب من هم که کار سخت بلد نیستم رفتم سراغ دستکاری نقشه صفحه کلید، و یک نقشه واسه خودم طراحی کردم.
واسه کسانی که مثل خودم نمیدونن باید چکار کنن:
تو مسیر:
/usr/share/X11/xkb/symbolsنقشه ها اونجا هست. من از keypad میخواستم استفاده دیگه ای بکنم، خب اون رو ویرایش کردم.( فقط حتما قبل از ویرایش، پشتیبان یادتون نره- چون من یک بار خرابکاری کردم، صفحه کلید رو از کار انداختم :) ;D)
بعد یک نگاه به مسیر زیر بندازید:
/var/lib/xkbاونجا هرچی فایل با پسوند .xkm هست رو پاک کنید و دستور زیر رو بزنید:
sudo dpkg-reconfigure xkb-dataو در نهایت راه اندازی مجدد.
---------------------------------------------------------
چنانچه خرابکاری شد:
Recovery mode> chrootبعد نسخه پشتیبانتون رو جایگزین کنید و دوباره دستور زیر رو وارد کنید:
dpkg-reconfigure xkb-data
خوب من پایتون بلد نیستم اما این چیزی که شما گفتی یه cd و یه دستور دیگه هست که خوب توی هر زبانی میشه ازش استفاده کرد مثلا با system() توی پرل میشه اجراش کرد و مطئنا میشه توی پایتون هم اینکار رو کرد...

آفلاین sajed68

  • Jr. Member
  • *
  • ارسال: 52
  • جنسیت : پسر
پاسخ : دزدیدن سیگنال خروجی صفحه کلید!(حل شد)
« پاسخ #6 : 02 امرداد 1394، 12:48 ب‌ظ »
نقل‌قول
خوب من پایتون بلد نیستم اما این چیزی که شما گفتی یه cd و یه دستور دیگه هست که خوب توی هر زبانی میشه ازش استفاده کرد مثلا با system() توی پرل میشه اجراش کرد و مطئنا میشه توی پایتون هم اینکار رو کرد...
بله این تغییرات مربوط به سیستم عامل میشه نه پایتون، برا همین قبلش یک پشتیبان از اون پرونده هایی که میخواستم تغییر بدم،گرفتم، یعنی اگه من پیشفرض keypadرو تغییر دادم توی کل برنامه ها ( حتی صفحه login) هم این این تغییرات هست.
البته این رو هم گفتم که :
نقل‌قول
جایی خوندم که گفت به تنهایی با پایتون نمیشه این کار رو کرد
و همینطور :
نقل‌قول
خب من هم که کار سخت بلد نیستم رفتم سراغ دستکاری نقشه صفحه کلید، و یک نقشه واسه خودم طراحی کردم.
و تغییر نقشه صفحه کلید هم ربط مستقیمی به پایتون نداره