Android 17 میتواند قابلیت بازنقشهبرداری کنترلرهای بازی و احتمالاً یک گیمپد مجازی را معرفی کند.

نیک فرناندز / Android Authority
اکثریت قریب به تمام بازیهای اندروید از کنترلهای لمسی استفاده میکنند، که منطقی است زیرا بیشتر دستگاههای اندروید، گوشیهای هوشمند یا تبلتها هستند. با این حال، تعداد بازیهای اندروید که میتوان با یک کنترلر بازی کرد، روز بهروز در حال افزایش است؛ فهرستی که با گسترش سیستمعامل به فرمفاکتورهای جدید، فقط گستردهتر خواهد شد. علاوه بر این، محبوبیت رو به رشد بازیهای ابری به کاربران اندروید این امکان را میدهد تا عناوین بسیاری که برای صفحهنمایش لمسی طراحی نشدهاند و بهصورت بومی در این پلتفرم موجود نیستند، بازی کنند. برای پر کردن بهتر این فاصله بین روشهای ورودی، گوگل در حال کار بر روی ویژگیهای جدیدی در Android 17 است که به بازیکنان کنترل بیشتری بر فشار دکمهها میدهد.
نحوهٔ کار اندروید با کنترلرهای بازی
هنگامی که یک کنترلر بازی USB یا بلوتوث را به دستگاه اندروید خود متصل میکنید، سیستمعامل آن را بهعنوان یک دستگاه ورودی شناسایی میکند و رویدادهای ایجاد شده توسط فشار دکمهها را ثبت مینماید. اندروید این فشارها را به کدهای کلید و مقادیر محورهای خاص تبدیل میکند که سپس به اعمال و حرکات داخلبازی در عناوین پشتیبانیشده نگاشته میشوند.
اندروید برای نگاشت این رویدادهای ورودی به فایلهای پیکربندی از پیش تعریفشده متکی است. برای تعیین پیکربندی مورد استفاده، سیستمعامل شناسهٔ فروشنده و محصول کنترلر را بررسی میکند. از آنجا که ساخت پیکربندیهای خاص برای هر کنترلر موجود در بازار غیرممکن است، اندروید تنها فایلهایی برای سختافزارهای پرطرفدار، مانند کنترلرهای رسمی Xbox، نگه میدارد.

میشال رحمان / Android Authority – فایل پیکربندی کلیدهای اندروید برای کنترلر Xbox One هنگام اتصال از طریق USB.
این به این معنا نیست که اندروید با دستگاههای جانبی خاص کار نخواهد کرد. بسیاری از تولیدکنندگان طرحهای کنترلر برندهای بزرگ را تقلید میکنند تا اطمینان حاصل شود اندروید و سایر سیستمعاملها ورودیهای آنها را شناسایی میکنند. این استراتژی سازگاری به اندروید امکان میدهد از همان ابتدا با طیف وسیعی از کنترلرها کار کند.
با این حال، برخی از بازیکنان ممکن است طرح پیشفرض دکمهها روی کنترلرهای خود یا نحوهٔ نگاشت آنها در عناوین خاص را نپسندند. دلایل بسیاری وجود دارد که چرا کسی ممکن است بخواهد کنترلهای خود را سفارشی کند:
- دسترسپذیری: کاربران دارای ناتوانی ممکن است برای آسانتر کردن دسترسی به عملکردهای اساسی، نیاز به بازنقشهبرداری دکمهها داشته باشند.
- ارگونومی: بازیکنانی که میخواهند فشار دست را کاهش دهند، ممکن است ترجیح دهند عملهای پرتکرار را به دکمههایی که نیروی کمتری میطلبند منتقل کنند.
- رقابت: گیمرهای حرفهای ممکن است برخی اعمال را به دکمههای خاصی اختصاص دهند تا زمان واکنش خود را بهبود بخشند.
- حافظهٔ عضلانی: طرفداران بازیهای رترو یا کسانی که پلتفرمهای خود را جابجا میکنند، اغلب میخواهند چیدمانهایی که به آنها عادت دارند را بازآفرینی کنند.

سی. اسکات برون / Android Authority
متأسفانه، اندروید بهطور پیشفرض از بازنقشهبرداری دکمهها پشتیبانی نمیکند. در عوض، به گزینههای بازنقشهبرداری در خود بازیها متکی است. در حالی که بسیاری از شبیهسازها این امکان را فراهم میآورند، اکثر بازیهای استاندارد اندروید این قابلیت را ندارند. بهمدت سالها، کاربران برای سفارشیسازی ورودیهای خود به ابزارهای ثالث روی آوردهاند، اما این ابزارها اغلب از راهحلهای نامنظم شامل ADB یا API دسترسپذیری برای بازداختن و بازنقشهبرداری فشارهای کلید استفاده میکنند. این روشها بار پردازشی اضافی ایجاد میکنند و در دستگاهها و بازیهای مختلف قابل اعتماد نیستند.
خوشبختانه، شواهدی یافتهام که نشان میدهد گوگل در حال کار بر روی آوردن بازنقشهبرداری بومی کنترلر به نسخهای آینده از اندروید است. این شواهد در آخرین انتشار Android Canary ظاهر میشوند که پیشنمایشی از ویژگیها و APIهای آینده ارائه میدهد. اگرچه دقیقاً نمیدانم این ویژگی چه زمانی منتشر خواهد شد، بهنظر میرسد هدف آن بهروزرسانی اصلی بعدی، Android 17 باشد.
Android 17 ممکن است سرانجام بازنقشهبرداری بومی کنترلر را فراهم کند
شواهد این ویژگی در یک اجازه جدید تعریفشده در چارچوب اندروید نهفته است: android.permission.CONTROLLER_REMAPPING. این اجازه توسط یک پرچم ویژگی با نام com.android.hardware.input.controller_remapping محافظت میشود. فضای نام این پرچم، com.android.hardware.input، این ویژگی را به دستگاههای ورودی مانند کنترلرهای بازی مرتبط میسازد. نکته مهم این است که این اجازه جدید تنها برای برنامههای امضاشده با کلید پلتفرم محدود شده است، به این معنی که برنامههای شخص ثالث قادر به انجام بازنقشهبرداری سراسری کنترلر نخواهند بود.

ما همچنین به ارجاعاتی به یک منوی جدید و اختصاصی برای کنترلرهای بازی در برنامه تنظیمات پی بردیم. در حالی که این منو در حال حاضر خالی است، تعریف Activity در Manifest تنظیمات نشان میدهد که ممکن است فهرستی از کنترلرهای متصل را نمایش دهد. بهنظر میرسد این منو بهعنوان مرکز اصلی مدیریت کنترلرهای بازی، بهویژه برای بازنقشهبرداری دکمههای آنها، عمل خواهد کرد.

آیا اندروید از گیمپدهای مجازی پشتیبانی میکند؟
با بررسی عمیقتر، کدی را یافتیم که به ویژگی جدیدی به نام «گیمپد مجازی» اشاره میکند. بهنظر میرسد این ویژگی یک نمایشی نرمافزاری از یک کنترلر فیزیکی باشد، مشابه روشی که اندروید قبلاً دوربینهای مجازی را برای ویژگیهایی مانند «دوربین متصل پیکسل» مدیریت میکند. در این زمینه، «گیمپد مجازی» احتمالاً مکانیزمی است که اندروید برای پردازش بازنقشهبرداری دکمهها به کار خواهد برد.
این کد به سیستم اجازه میدهد یک دستگاه ورودی مجازی را با استفاده از شناسههای سختافزاری استاندارد (vendorId و productId) ثبت کند، که میتواند برای فریب دادن بازیها بهگونهای که آن را بهعنوان یک کنترلر فیزیکی واقعی تشخیص دهند، به کار رود. این دستگاه مجازی مجموعه کامل ورودیهای استاندارد کنترلر را پشتیبانی میکند، از جمله:
- دکمههای اصلی و منو: A، B، X، Y، Start، Select و Mode.
- دکمههای تریگر و بامپر: L1، R1، L2 و R2 (شامل محورهای تریگر آنالوگ lTrigger و rTrigger).
- جوییستیکها: چوبهای آنالوگ چپ و راست (نقشهبرداری به محورهای X، Y، Z و Rz) و دکمههای کلیکی آنها (L3 و R3).
- D‑Pad: ورودیهای جهتدار که به محورهای HatX و HatY نگاشت میشوند.
وجود روشهایی برای تزریق ورودیهای شبیهسازیشده به سیستم نشان میدهد که این گیمپد مجازی بهعنوان پلی عمل میکند که فشارهای دکمههای اصلی را میگیرد و ورودیهای بازنقشهبرداریشده را به بازیها میفرستد تا بهصورت بومی قابل درک باشند.

علاوه بر بازنقشهبرداری دکمهها، این کد میتواند برای نگاشت کنترلهای لمسی صفحه نمایش به ورودیهای فیزیکی کنترلر نیز استفاده شود. این امر برای بازیهایی که پشتیبانی بومی از کنترلر ندارند، که متأسفانه بخش بزرگی از کتابخانهٔ بازیهای اندروید را شامل میشود، بهطوری بسیار مفید خواهد بود. میتوانم تصور کنم این قابلیت به ویژه در کامپیوترهای آیندهٔ مبتنی بر اندروید مفید باشد، زیرا بازی با کنترلر بسیار ارگونومیکتر از استفاده از کنترلهای لمسی روی کامپیوتر است. گوگل پیش از این با این فناوری آشنایی داشته و از سیستمهای مشابه برای نگاشت ورودی در Chrome OS و Google Play Games بر روی PC بهرهبرداری کرده است.
ما باید صبر کنیم و ببینیم گوگل این ویژگی را چگونه پیادهسازی میکند. هنوز بیش از شش ماه تا انتشار Android 17 باقی مانده است، که به گوگل زمان کافی برای اعمال این قابلیت میدهد. امیدواریم گوگل حداقل امکان بازنقشهبرداری پایهای دکمهها را ارائه دهد؛ این به تنهایی یک ارتقای قابلتوجه برای بازیکنان خواهد بود. اگر بتواند منوی اختصاصی کنترلر و ابزار نگاشت صفحهلمسی را نیز اضافه کند، قطعاً تحولآفرین خواهد بود.