AutoHotkey 'Make Tech Easier'-এর জন্য নতুন নয়, কিন্তু আগে আমরা প্রধানত প্রিডিফাইনড সমাধানগুলো নিয়ে কথা বলতাম। বিষয়টি হলো, AutoHotkey শুধু (অন্যের তৈরি করা স্ক্রিপ্ট চালানোর জন্য) একটি প্ল্যাটফর্ম নয়; এটি মূলত একটি স্ক্রিপ্টিং ল্যাঙ্গুয়েজ যা আপনাকে আপনার নির্দিষ্ট প্রয়োজনের জন্য নিজের সমাধান বানাতে এবং উইন্ডোজ ডেস্কটপে আপনার করা সকল কাজ অটোমেট করতে দেয়। এর সম্পূর্ণ কার্যকারিতা কভার করতে হলে বইয়ের সিরিজ লাগবে কারণ AutoHotkey এখন একটি পূর্ণ প্রোগ্রামিং ল্যাঙ্গুয়েজে রূপ নিয়েছে এবং এখন এর দিয়ে অ্যাপ তৈরি করা যাবে।
এই টিউটোরিয়ালে আমরা সেরা বেসিকস থেকে শুরু করব যা আপনাকে যেকোনো মাল্টি-স্টেপ প্রসেসকে একটি কীস্ট্রোকে পরিণত করার জন্য শুরু করতে সাহায্য করবে।
ইনস্টলেশন
অফিসিয়াল সাইট থেকে AutoHotkey ডাউনলোড ও ইনস্টল করুন। কারেন্ট ভার্সনটি বেছে নিন। অন্যান্য দুটি অপশন অবহেলা করুন - 'V2' হলো একটি নতুন ভার্সন, যা এক্সিস্টিং স্ক্রিপ্টের সাথে ইনকম্প্যাটিবল এবং সিনট্যাক্স কিছুটা ভিন্ন; 'V1.0 Deprecated' পুরনো এবং সীমাবদ্ধ।
ব্ল্যাঙ্ক স্ক্রিপ্ট তৈরি
ইনস্টলেশনের পর, AutoHotkey AHK এক্সটেনশনযুক্ত ফাইলগুলোর জন্য ডিফল্ট অ্যাপ হিসেবে রেজিস্টার হয়। এইीलिए এগুলো এক্সিকিউটেবল হিসেবে কাজ করে - AutoHotkey রিয়েলটাইমে এদের পার্স করে এবং কন্টেন্ট এক্সিকিউট করে। আসলে, AHK ফাইলগুলো স্ক্রিপ্ট যা আপনি যেকোনো টেক্সট এডিটরে খুলতে পারেন।
আপনার প্রথম AutoHotkey স্ক্রিপ্টের জন্য যেখানে খুশি সেখানে একটি নতুন ফোল্ডার তৈরি করুন, সেটি খুলুন, রাইট-ক্লিক করুন এবং রাইট-ক্লিক মেনুর নতুন অপশন থেকে 'New -> AutoHotkey Script' বেছে নিন। আপনার পছন্দের নাম দিন।
স্ক্রিপ্ট এডিট করার পদ্ধতি বেছে নিন
আপনার তৈরি করা AHK ফাইলটি ডাবল-ক্লিক করে (যেমন প্রি-মেড স্ক্রিপ্ট চালাতে হয়) রান করার বদলে, এটিতে রাইট-ক্লিক করে Edit সিলেক্ট করুন। আপনি যেকোনো টেক্সট এডিটরে AHK ফাইল এডিট করতে পারেন, কিন্তু যেহেতু স্ক্রিপ্টিং প্রোগ্রামিংয়ের একটি লাইট ভার্সন, তাই সেটার জন্য তৈরি প্রোগ্রাম ব্যবহার করা ভালো। Atom থেকে Sublime Text বা VS Code যেকোনোটি করবে। আপনার যদি ऐसा কোনো টুল ইনস্টল করা নাও থাকে, এবং যেহেতু আপনার প্রথম স্ক্রিপ্টগুলো সহজ হবে, তাই উইন্ডোজের নোটপ্যাডও ব্যবহার করা যাবে।
কৌতুহলীদের জন্য বলছি, আমি ব্যক্তিগতভাবে অন্যান্য উদ্দেশ্যে (HTML, CSS, এবং কিছু বেসিক JS, PHP, Python) সকল টুল ব্যবহার করি, কিন্তু AHK স্ক্রিপ্ট এডিট করার জন্য আমি জনপ্রিয় Notepad++-এ ফিরে যাই।
নির্দিষ্ট অ্যাপ বা উইন্ডো টার্গেট করা
শুরু করার আগে, আমরা যে প্রোগ্রামের জন্য স্ক্রিপ্ট বানাতে চাই সেটি চেক করি।
AutoHotkey-তে গ্লোবাল স্ক্রিপ্ট তৈরি করা যায় যা সব জায়গায় - সব অ্যাপ এবং উইন্ডোজ ডেস্কটপে - কাজ করবে, কিন্তু আপনি অ্যাপসও টার্গেট করতে পারেন। এটি আপনাকে অনুমতি দেয় একই শর্টকাট দুটি ভিন্ন প্রোগ্রামে দুটি ভিন্ন কাজ করতে।
আপনার স্ক্রিপ্টটি কিছু বেসিক সেটিংস দিয়ে প্রি-পপুলেটেড থাকবে। সেগুলো মডিফাই করবেন না - সেসবের পরে টাইপ করুন। এক বা দুবার Enter চাপুন।
আপনার স্ক্রিপ্টে এই কোডটি লিখুন:
#IfWinActive ahk_class Notepad #if
এটি AutoHotkey-কে বলে যে 'IfWinActive' এর পরে যা আসবে সেটি শুধু Notepad ক্লাসवाले উইন্ডোতে কাজ করবে (ahk_class Notepad)। এর পরের #If সেকশনটি বন্ধ করে দেয় যাতে এর পরে আসা কোড Notepad ক্লাসवाले উইন্ডোতে সীমাবদ্ধ না থাকে।
উইন্ডো স্পাইএর সাথে পরিচিত হন
আপনার খালি স্ক্রিপ্টটি রান করুন যাতে Windows ট্রে-তে AHK আইকনটি আসে। সেটিতে রাইট-ক্লিক করে পপ-আপ মেনু থেকে Window Spy বেছে নিন। এখন, আপনি যখন যেকোনো অন্য উইন্ডোতে ক্লিক করবেন, AutoHotkey-এর Window Spy আপনাকে সেটি নিয়ে তথ্য দেখাবে।
সর্বোপরি আপনি এর টাইটেল, ক্লাস, এবং এক্সিকিউটেবল দিয়ে এটি টার্গেট করার ভিন্ন পদ্ধতি দেখতে পাবেন। যদি Firefox চালু করে, Window Spy স্ক্রিনে থাকাকালীন এর উইন্ডোতে ক্লিক করেন, তবে দেখবেন এর এক্সিকিউটেবল হলো 'firefox.exe'। আপনার স্ক্রিপ্টটি রিভাইজ করুন Notepad রেফারেন্সটি বদলে #IfWinActive ahk_exe firefox.exe দিয়ে। আপনি যেকোনো অন্য উইন্ডোকে একইভাবে টার্গেট করতে পারেন - Window Spy ব্যবহার করে এর টাইটেল, ক্লাস, বা এক্সিকিউটেবল বের করুন এবং যেকোনোটি টার্গেট করুন। এর बारेে আরো পড়ুন। সংক্ষিপ্ত সংস্করণ:
- টাইটেল দিয়ে উইন্ডো টার্গেট করতে
#IfWinActiveটাইটেলসহ ব্যবহার করুন। - ক্লাস দিয়ে উইন্ডো টার্গেট করতে
#IfWinActive ahk_classব্যবহার করুন, তারপর Window Spy যে ক্লাসটি চিনেছে। - এক্সিকিউটেবল দিয়ে প্রোগ্রাম টার্গেট করতে
#IfWinActive ahk_exeএবং এক্সিকিউটেবলের ফাইলনেম ব্যবহার করুন। মনে রাখবেন এই পদ্ধতিতে আপনি প্রোগ্রামের সকল উইন্ডো টার্গেট করছেন, কোনো নির্দিষ্ট উইন্ডো নয়।
মাউস কোঅর্ডিনেট চেক করা
Window Spy এক্টিভ থাকাকালীন, 'Mouse Position' ভেরিয়েবল গোষ্ঠীর দিকে মনোযোগ দিন। এগুলো আপনাকে মাউসের সঠিক লোকেশন দেখাবে।
- Absolute - পুরো স্ক্রিন রেজোলিউশনের সাপেক্ষে লোকেশন।
- Relative - এক্টিভ উইন্ডোর ভিতরের লোকেশন, এর স্ক্রিনে প্লেসমেন্ট থেকে অপ্রভাবিত। এটি ডিফল্ট এবং অধিকাংশ ক্ষেত্রে আপনি যা ব্যবহার করবেন।
- Client - Relative-এর মতই কিন্তু উইন্ডো ডেকোরেশন (টাইটেলবার বা বর্ডার) গণনা করে না।
মাউস মুভমেন্ট ও ক্লিক প্রতিলিপি করা
এখন আপনি জানেন কীভাবে নতুন AHK স্ক্রিপ্ট তৈরি করতে হয় এবং নির্দিষ্ট উইন্ডো টার্গেট করতে হয়, কিন্তু আমরা যে মাউস কোঅর্ডিনেটের কথা বললাম সেটি কী? Window Spy-তে পাওয়া X, Y কোঅর্ডিনেটে মাউস মুভ করতে MouseMove, X, Y ; ব্যবহার করুন। এটি মাউসকে X, Y পজিশনে সরিয়ে দেয়। মনে রাখবেন: রিলেটিভ কোঅর্ডিনেট ডিফল্ট।
; ক্যারেক্টারের পরে কমেন্ট যোগ করা যায় তা লক্ষ্য করুন। মাল্টি-লাইন কমেন্টের জন্য '/'- দিয়ে শুরু এবং '/'- দিয়ে শেষ করুন - কোটেশন মার্ক ছাড়া। মাউস মুভ করা একটা ব্যাপার। ক্লিক করতে হলে আগে মাউসকে নির্দিষ্ট পজিশনে সরাতে হয় না। শুধু ব্যবহার করুন:
Click, X, Y ;লেফট-ক্লিকের জন্য, অথবা... Click, right, X, Y ;রাইট-ক্লিকের জন্য।
মনে রাখবেন যদি আপনি কোনো কোঅর্ডিনেট না দেন, তবে ক্লিক হবে সেখানে যেখানে মাউস কার্সর রয়েছে।
যেকোনো কীবোর্ড কীপ্রেস প্রতিলিপি করা
সমীকরণের সবচেয়ে গুরুত্বপূর্ণ অংশ শেষে রেখেছি: sendkeys। এটি AutoHotkey-তে যেকোনো কীপ্রেস প্রতিলিপি করার কমান্ড। এর ব্যবহার করে আপনি AutoHotkey-কে যেকোনো স্ট্রিং কীপ্রেস যেকোনো প্রোগ্রামে পাঠাতে পারেন, যেন আপনি নিজে কীগুলো চাপছেন। উদাহরণস্বরূপ, নিচেরটি:
sendkeys, Make Tech Easier
AutoHotkey-কে 'Make Tech Easier' বাক্য তৈরির কীপ্রেসগুলো পাঠাতে বলে। আপনি যেকোনো লেটার বা নম্বর ব্যবহার করতে পারেন। স্পেশাল কীগুলোর নিজস্ব শর্টকোড রয়েছে এবং সেগুলো ব্র্যাকেটের মধ্যে থাকে। उनमे से কিছু:
- {Tab}
- {Shift}
- {Control} or {Ctrl}
- {Alt}
- {F1 - F12}
- {LWin}{RWin} বাম ও ডান উইন্ডোজ কী
- {Enter}
- {Space}
- {Backspace}
- {Delete}
- {Up}{Down}{Left}{Right} ;কার্সর কী আপ, ডাউন, লेफট, রাইট
- {Home}
- {End}
- {PgUp}{PgDown} ;পেজ আপ এবং পেজ ডাউন
- {Volume_Up}{Volume_Down}{Volume_Mute} ;সাউন্ড ভলিউম কন্ট্রোলের মিডিয়া শর্টকাট
বারবার কীপ্রেস সিমুলেট করতে নম্বরও ব্যবহার করা যায়। নিচের কোডটি AutoHotkey-কে এক্টিভ উইন্ডোতে পাঁচটি স্পেস পাঠাবে, যেন আপনি স্পেসবার পাঁচবার চাপছেন। তারপর 'Make Tech Easier' টাইপ করবে, তারপর দুবার Tab এবং একবার Enter চাপবে।
Send, {Space 5}Make Tech Easier{Tab 2}{Enter}
AutoHotkey চারটি সিম্বলও মডিফায়ার হিসেবে সেট করে যা এক্টিভ প্রোগ্রামে শর্টকাট কী কম্বিনেশন পাঠাতে সাহায্য করে। এগুলো শুধু তাদের পরের ক্যারেক্টারকে অ্যাফেক্ট করে এবং সেগুলো হলো:
- ! for Alt
- + for Shift
- ^ for Control
- # for Windows Key
নিচের কোডটি এক্টিভ উইন্ডোতে Ctrl + A কম্বিনেশন (সকল টেক্সট সিলেক্ট করতে) পাঠাবে, তারপর Ctrl + C (ক্লিপবোর্ডে কপি করতে):
Send, ^A^C
আপনার প্রথম স্ক্রিপ্ট বানান
আমরা 이제 পর্যন্ত যা যা দেখেছি তা কীভাবে একটি রিয়্যাল-ওয়ার্ল্ড উদাহরণে অনুবাদ হয় তা দেখতে 'Make Tech Easier'-এর সার্চ ফাংশনের জন্য একটি শর্টকাট যোগ করার স্ক্রিপ্ট বানাব। একটি হটকি চাপলে মাউস সরিয়ে সার্চ আইকনে ক্লিক করবে, তারপর ক্লিপবোর্ডের কন্টেন্ট সার্চ ফিল্ডে দিয়ে 'Enter' চাপবে সার্চ শুরু করতে।
Window Spy দিয়ে চেক করে পাই, Firefox-এর উইন্ডো ম্যাক্সিমাইজড থাকলে (১৯২০ x ১০৮০ স্ক্রিনে) সার্চ আইকনের কোঅর্ডিনেট প্রায় X=1835 এবং Y=135। এই নম্বরগুলো ভিন্ন হয় কারণ সার্চ আইকন একটি পিক্সেলের চেয়ে বড়, তাই X = 1830 এবং Y = 140-ও কাজ করবে যেন কার্সর সেখানে থাকলে আইকনের দিকে নির্দেশ করে। এই জানলে আমরা লিখতে পারি:
#IfWinActive, ahk_exe firefox.exe ;শুধু তখন এক্টিভ হবে যখন উইন্ডো firefox.exe অ্যাপ্লিকেশনের অন্তর্গত হবে। !+M:: ;Alt+Shift+M চাপলে স্ক্রিপ্ট এক্টিভ হবে। Click, 1830, 140 Sleep, 50 ;ছোট ডিলে, সার্চ ফিল্ড স্ক্রিনে আসতে পারার জন্য। Send, {Clipboard}{Enter} ;ক্লিপবোর্ডের কন্টেন্ট সার্চ ফিল্ডে পাঠিয়ে Enter চাপিয়ে সার্চ শুরু করবে। return ;স্ক্রিপ্টের এই নির্দিষ্ট অংশ শেষ করবে, যা এই কেসে হটকি সেটআপ করে। #If ;নির্দিষ্ট অ্যাপ/উইন্ডো টার্গেটিং বন্ধ।
হ্যাঁ, এটiewe সরল, почти সাদা ইংরেজিতে লেখার মত। এবং যদি চিন্তা করেন, তবে এটি আপনাকে আপনার কম্পিউটারে যা যা করেন তার প্রায় সবকিছু অটোমেট করতে দেয়।
- পাঁচটি অ্যাপ্লিকেশন লঞ্চ করা বা স্ট্রিট ফাইটারের রিউর 'হাদুকেন' মুভকে একটি কীস্ট্রোকে ম্যাপ করতে চান?
- উইন্ডোর একটি নির্দিষ্ট পয়েন্টে মাউস কার্সর সরিয়ে অমানবিক গতিতে ৫০ বার ক্লিক করতে চান?
- ক্যাপস লককে আরও কার্যকর করতে চান মাউসের মিডল-ক্লিকে পরিণত করে?
এই সবই ঠিক একই পদ্ধতিতে সম্ভব! প্রতিদিন আপনি যে প্রসেসগুলো বারবার दुहरান, সেগুলো তাদের সমষ্টির অংশগুলোর ভাঙিয়ে AutoHotkey-তে প্রতিটি অংশকে রেপ্লিকেট করুন আপনার কম্পিউটার ব্যবহারের পদ্ধতি ব্যাপকভাবে সরল করতে এবং উৎপাদনশীলতা বেড়াতে। এগিয়ে যান এবং অটোমেট করুন!