کسی جواب نداد ولی خودم با دیدن پروژه هایی که از اینترنت پیدا کردم و یه سری تست ها طرز کارشو فهمیدم. اینو می نویسم شاید برای اونایی که بعدا به این تاپیک سر میزنن مفید باشه.
کد های اسکی محدود هستن و برای اینکه کلید های جهتی 4 کد اشغال نکنن اونا رو متفاوت با بقیه نوشتن (نمی دونم این حرف چقدر درسته. برداشت خودم بود از طرز کار متفاوت این کلید ها)
وقتی یکی از کلید های جهتی فشار داده میشه به جای اینکه یک کد اسکی به نرم افزار ارسال بشه، دو بار کد ارسال میشه. اول کد اسکی 224 ارسال میشه که معادل کاراکتر الفا هستش (à). این یعنی اینکه یکی از کلید های جهتی فشار داده شده.
بعد مجددا یکی از کد های (77, 75, 72, 80) ارسال میشه که به ترتیب معادل (راست، چپ، بالا، پایین) هستن. این کد ها در اصل اشاره به کاراکتر های (M و K و H و P) دارند ولی اگر قبلشون کاراکتر 224 ارسال شده باشه به معنی کلید های جهتی خواهند بود.
بنابراین توی برنامه اگر بخواهیم برای کلید های مختلف شرط بگذاریم برای کلید های جهتی اینطوری می نویسیم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توی کد ها میتونید به جای اعداد (77, 75, 72, 80) از معادل کاراکتری اونا یعنی (M و K و H و P) استفاده کنید. فرقی نداره عددش رو بذارید یا کاراکترش. ولی به جای 'à' اگه خواستید معادل عددی اش رو بذارید نمیتونید از 224 استفاده کنید. بعضی کاراکتر ها وقتی خونده میشن به جاشون یه عدد منفی قرار میگیره. مثلا به جای آلفا میتونستید عدد -32 (منفی 32) رو بذارید