কীবোর্ড ইভেন্টের সাথে নতুন কি? কী এবং কোড!

Chrome-এর বিগত কয়েকটি সংস্করণে KeyboardEvent s- এ দুটি সংযোজন দেখা গেছে, যা keydown , keypress এবং keyup ইভেন্ট শ্রোতাদের কাছে পাস করা প্যারামিটার হিসেবে ব্যবহৃত হয়। code অ্যাট্রিবিউট ( Chrome 48 এ যোগ করা হয়েছে) এবং key অ্যাট্রিবিউট ( Chrome 51 এ যোগ করা হয়েছে) উভয়ই ডেভেলপারদের তথ্য পাওয়ার সহজ উপায় দেয় যা অন্যথায় লিগ্যাসি অ্যাট্রিবিউট ব্যবহার করা কঠিন হবে।

কোড বৈশিষ্ট্য

প্রথম আপ হল code বৈশিষ্ট্য. এটি বর্তমান কীবোর্ড লেআউট (উদাহরণস্বরূপ, QWERTY বনাম ডভোরাক ), লোকেল (উদাহরণস্বরূপ, ইংরেজি বনাম ফরাসি), বা অ্যাকাউন্টে যেকোন পরিবর্তনকারী কীগুলি না নিয়ে KeyboardEvent তৈরি করতে চাপ দেওয়া কী প্রতিনিধিত্বকারী একটি স্ট্রিং- এ সেট করা হয়েছে। . কোন অক্ষরের সাথে সামঞ্জস্যপূর্ণ না হয়ে কোন ফিজিক্যাল কী টেপা হয়েছে তা নিয়ে আপনি যত্নবান হলে এটি কার্যকর। উদাহরণস্বরূপ, আপনি যদি একটি গেম লিখছেন, তাহলে আপনি প্লেয়ারটিকে বিভিন্ন দিকে সরানোর জন্য একটি নির্দিষ্ট কীগুলির সেট চাইতে পারেন এবং সেই ম্যাপিংটি আদর্শভাবে কীবোর্ড লেআউট থেকে স্বাধীন হওয়া উচিত।

মূল বৈশিষ্ট্য

পরবর্তী, আমরা নতুন key বৈশিষ্ট্য আছে. এটি একটি স্ট্রিং- এও সেট করা আছে, কিন্তু code চাপানো ফিজিক্যাল কী সম্পর্কে তথ্য ফেরত দেওয়ার সময়, key বর্তমান কীবোর্ড লেআউট, লোকেল এবং মডিফায়ার কীগুলি বিবেচনা করে সেই কী দ্বারা তৈরি করা অক্ষর থাকে৷ key অ্যাট্রিবিউটের মান দেখে আপনার কাজে আসে যখন আপনি জানতে চান কোন অক্ষরটি স্ক্রিনে প্রদর্শিত হবে যেন ব্যবহারকারী একটি টেক্সট ইনপুটে টাইপ করেছে।

অনুশীলনে এর মানে কি?

একটি সুনির্দিষ্ট উদাহরণ দিতে, ধরুন আপনার ব্যবহারকারী একটি QWERTY কীবোর্ড লেআউট সহ একটি US কীবোর্ড ব্যবহার করছেন৷ সেই কীবোর্ডে ফিজিক্যাল Q কী টিপলে "KeyQ" এ সেট করা code অ্যাট্রিবিউট সহ একটি KeyboardEvent হবে। এটি কীবোর্ড লেআউট নির্বিশেষে সত্য, এবং অন্য কোন পরিবর্তনকারী কী নির্বিশেষে। তুলনা করার জন্য, একটি ফরাসি ( AZERTY ) কীবোর্ডে এই কীটিতে এখনও "KeyQ" এর একটি code থাকবে যদিও কীক্যাপে মুদ্রিত অক্ষরটি একটি "a"। একই ইউএস কীবোর্ডে KeyboardEvent Q কী টিপলে সাধারণত "q" (কোনও মডিফায়ার key ছাড়াই), বা "Q" (Shift বা CapsLock সহ), অথবা "œ" (OS X-এ, সহ Alt)। একটি ফরাসি AZERTY কীবোর্ডে, এই একই কী একটি "a" (বা Shift বা CapsLock সহ "A") তৈরি করবে। এবং অন্যান্য কীবোর্ড লেআউটের জন্য, key মান হতে পারে "й" , "ض" , "ㅂ" , "た" , বা অন্য কোনো অক্ষর। আগের থেকে আমাদের গেমের উদাহরণটি আবার দেখুন, আপনি যদি চান যে আপনার গেমটি চলাচলের জন্য WASD কীগুলি ব্যবহার করুক, আপনি code অ্যাট্রিবিউটটি ব্যবহার করতে পারেন এবং "KeyW" , "KeyA" , "KeyS" এবং "KeyD" পরীক্ষা করতে পারেন। এটি সমস্ত কীবোর্ড এবং সমস্ত লেআউটের জন্য কাজ করবে-এমনকি AZERTY কীবোর্ড যা "w" এবং "z" কীগুলির অবস্থান পরিবর্তন করে।

ভার্চুয়াল কীবোর্ড

আপনি লক্ষ্য করবেন যে এখন পর্যন্ত, আমরা একটি শারীরিক কীবোর্ড ধরে নিয়ে আচরণের উপর ফোকাস করছি। ভার্চুয়াল কীবোর্ড বা বিকল্প ইনপুট ডিভাইসে টাইপ করা ব্যবহারকারীদের সম্পর্কে কী? স্পেসিফিকেশন code অ্যাট্রিবিউটের জন্য অফিসিয়াল নির্দেশিকা প্রদান করে। সংক্ষেপে বলতে গেলে, একটি ভার্চুয়াল কীবোর্ড যা একটি স্ট্যান্ডার্ড কীবোর্ডের লেআউটকে অনুকরণ করে তার ফলে একটি উপযুক্ত code অ্যাট্রিবিউট সেট করা হবে বলে প্রত্যাশিত, কিন্তু ভার্চুয়াল কীবোর্ড যেগুলি অপ্রথাগত লেআউট গ্রহণ করে সেগুলি code সেট করা নাও হতে পারে৷

জিনিসগুলি key বৈশিষ্ট্যের জন্য আরও সহজবোধ্য, যা ব্যবহারকারী (ভার্চুয়ালি) কোন অক্ষরের উপর ভিত্তি করে একটি স্ট্রিং সেট করা আশা করা উচিত।

চেষ্টা কর

Gary Kačmarčík KeyboardEvent s-এর সাথে যুক্ত সমস্ত বৈশিষ্ট্যগুলি কল্পনা করার জন্য একটি দুর্দান্ত ডেমো রেখেছেন:

কীবোর্ড ইভেন্ট বৈশিষ্ট্য

ক্রস ব্রাউজার সমর্থন

code অ্যাট্রিবিউটের জন্য সমর্থন, এই লেখার মতো, Chrome 48+, Opera 35+, এবং Firefox 44+ এর মধ্যে সীমাবদ্ধ। key বৈশিষ্ট্যটি Firefox 44+, Chrome 51+ এবং Opera 38+-এ সমর্থিত, Internet Explorer 9+ এবং Edge 13+-এ আংশিক সমর্থন সহ।