আমি ইনপুট ডেমনে কীস্ট্রোকগুলি ইনজেকশনের চেষ্টা করছি যাতে কোনও বাশ স্ক্রিপ্ট থেকে টাইপিং অনুকরণ করতে পারে। এটি কি সম্ভব এবং যদি তা হয় তবে আমি কীভাবে এটি ঘটতে পারি?
আমি ইনপুট ডেমনে কীস্ট্রোকগুলি ইনজেকশনের চেষ্টা করছি যাতে কোনও বাশ স্ক্রিপ্ট থেকে টাইপিং অনুকরণ করতে পারে। এটি কি সম্ভব এবং যদি তা হয় তবে আমি কীভাবে এটি ঘটতে পারি?
উত্তর:
আপনি যদি X স্তরে অপারেশন করছেন (গিলসের প্রশ্নে) তবে এক্সডটুলটি এর মতো ব্যবহার করুন :
xdotool key KEYSTROKE_SPECIFIER
যেখানে KEYSTROKE_SPECIFIER "a" বা "F2" বা "নিয়ন্ত্রণ + j" এর মতো কিছু হতে পারে
সম্পাদনা: গিলসের প্রশ্নের জবাব আমি মিস করেছি, দুঃখিত। এক্স-কেসের সমাধান হিসাবে আমি এই প্রতিক্রিয়াটি এখানে রেখে দেব।
xte
একই স্তরে কাজ করে।
uinput
ড্রাইভার ব্যবহার করুন । আমি মনে করি না যে এর জন্য কোনও উপযোগ আছে; আপনাকে কিছুটা সি কোড লিখতে বা মানিয়ে নিতে হবে। সংক্ষেপে:
#include <fcntl.h>
#include <ioctl.h>
#include <unistd.h>
#include <linux/input.h>
#include <linux/uinput.h>
/* Set up a fake keyboard device */
fd = open("/dev/uinput", O_WRONLY | O_NONBLOCK); // or /dev/input/uinput
ioctl(fd, UI_SET_EVBIT, EV_KEY);
struct uinput_user_dev uidev = …;
write(fd, &uidev, sizeof(uidev));
ioctl(fd, UI_DEV_CREATE);
/* Send an event */
struct input_event ev = …;
write(fd, &ev, sizeof(ev));
/* Clean up */
ioctl(fd, UI_DEV_DESTROY);
close(fd);
আরও সম্পূর্ণ রেফারেন্স:
যদি আপনি উইন্ডোগুলির সাথে কীগুলি প্রেরণ করতে পারে এমন এক্স প্রোগ্রামগুলির সাথে কাজ না করে থাকেন তবে আপনি সম্ভবত expect
অন্যান্য ইন্টারেক্টিভ শেল প্রোগ্রামগুলি চালনার জন্য একটি সহজ এবং খুব কনফিগারযোগ্য প্রোগ্রাম হিসাবে সন্ধান করছেন যেন কোনও ব্যবহারকারী টার্মিনালটি নিয়ন্ত্রণ করছেন। বিভিন্ন ইনপুট সহ বিভিন্ন আউটপুটে সাড়া দেওয়ার জন্য আপনি অগ্রগতিমূলক প্রতিক্রিয়া সেটআপ করতে পারেন।
আমি কিছু পাইথন কোড লিখেছি যা এটি করে। আপনি আমার ওপেন সোর্স প্রকল্পে এটি সন্ধান করতে পারেন।
http://code.google.com/p/pycopia/source/browse/trunk/core/pycopia/OS/Linux/event.py
আপনি যদি সেই মডিউলটিকে স্ক্রিপ্ট হিসাবে রুট হিসাবে চালান তবে আপনি কার্যত একটি ডেমো দেখতে পাবেন।
এই প্রাথমিক কার্যকারিতাটি অন্য একটি প্রকল্পের জন্য বাড়ানো হয়েছিল, পাওয়ারড্রয়েড যা এম্বেডড সিস্টেম (অ্যান্ড্রয়েড) এর জন্য আরও কংক্রিট বাস্তবায়ন সরবরাহ করে।
http://code.google.com/p/powerdroid/source/browse/trunk/src/droid/devices.py