ইউনিক্স সিস্টেমে টার্মিনাল কন্ট্রোল পরিবর্তন করতে হলে, আমরা পাইথনে tty সংক্রান্ত মেথড ব্যবহার করতে পারি। tty মডিউল ব্যবহার করে আমরা টার্মিনালের দুটি ভিন্ন মোড সেট করতে পারি। raw মোড এবং cbreak মোড।
tty মডিউল ব্যবহার করতে হলে, আমাদের এটি ইম্পোর্ট করতে হবে -
import tty
tty মডিউলের কিছু মডিউল রয়েছে, এগুলো হলো -
tty.setraw(fd, when = termios.TCSAFLUSH) মেথড
এই মেথড টার্মিনাল মোডকে raw মোডে পরিবর্তন করতে ব্যবহৃত হয়। raw মোডে, কার্সর নতুন লাইনে চলে যায় কিন্তু ক্যারেজ রিটার্ন অপারেশন পারফর্ম করা হয় না। অথবা আমাদের রিটার্ন কী প্রেস করতে হয় না ইনপুট সিস্টেমে পাঠানোর জন্য, এটি লিখার পর আটোমেটিক্যালি পাঠায়।
tty.setcbreak(fd, when = termios.TCSAFLUSH) মেথড
এই মেথড টার্মিনাল মোডকে cbreak মোডে পরিবর্তন করতে ব্যবহৃত হয়। এই মোডে, কার্সর নতুন লাইনে চলে যায় আমাদের রিটার্ন কী প্রেস করতে হয় না ইনপুট সিস্টেমে পাঠানোর জন্য, এটি লিখার পর আটোমেটিক্যালি পাঠায়।
উদাহরণ কোড
import sys
import tty
import termios
file_desc = sys.stdin.fileno()
old_setting = termios.tcgetattr(file_desc)
tty.setraw(sys.stdin)
for i in range(5):
char = sys.stdin.read(1)
print("Char: " + str(char))
termios.tcsetattr(file_desc, termios.TCSADRAIN, old_setting)
আউটপুট
$ python3 example.py Char: K Char: E Char: 5 Char: 2 Char: @