我試圖讓 Vizux M400 的觸摸板在 Unity 中作業。Vuzix 在 Android 上運行,我知道例如使用 android 鍵碼 KEYCODE_DPAD_RIGHT (22) 處理觸摸板向前滑動。
我現在如何將此鍵碼映射到 Unity 中的鍵碼,以便我可以訪問它?我聽說我可能需要為此創建一個插件,但我不知道從哪里開始創建這樣的插件。(補充資訊:在 Unity 中,觸摸屏上的敲擊被接收為 Mouse0,但無法識別用 2 根手指敲擊。所以我猜這些未映射到默認值)
任何幫助表示贊賞,謝謝!
uj5u.com熱心網友回復:
我沒有設備,所以我很難測驗。通常,您可以使用以下方法檢查任何可識別設備的 KeyCode。
// Put this in Update OR OnGUI
if (Input.anyKeyDown)
{
Event e = Event.current;
if (e.isKey)
{
Debug.Log(e.keycode.ToString())
}
}
找到keycode后,使用以下代碼檢查狀態:
KeyCode KEYCODE_DPAD_RIGHT = (KeyCode)(<insert your found keycode>)
if (SystemInfo.deviceModel.ToLower().Contains("vuzix"))
{
if (Input.GetKeyDown(KEYCODE_DPAD_RIGHT))
{
// Do anything
}
}
編輯 1
我相信您可以通過明確告訴 Unity 檢查不同的 KeyCode 來使其作業:
for (int i = 0; i < 1000; i )
if (Input.GetKeyDown((KeyCode)i)))
{
Debug.Log("Working");
break;
}
}
編輯 2
在更新和垃圾郵件中運行此代碼,單擊您的按鈕和滑動/觸摸操作。您可能會收到一個提示,表明該操作已被識別,并且您可以確認這些操作實際上默認映射到某些鍵碼。
uj5u.com熱心網友回復:
解決方案只是停用 Vuzix M400s 觸摸板的滑鼠功能。它可以在設備設定中完成。
因此,這些是觸摸板的 KeyCode:
private const KeyCode _oneFingerTapKeyCode = (KeyCode)330;
private const KeyCode _oneFingerHoldKeyCode = (KeyCode)319;
private const KeyCode _oneFingerSwipeBackKeyCode = (KeyCode)276;
private const KeyCode _oneFingerSwipeForwardKeyCode = (KeyCode)275;
private const KeyCode _oneFingerSwipeUpKeyCode = (KeyCode)273;
private const KeyCode _oneFingerSwipeDownKeyCode = (KeyCode)274;
private const KeyCode _twoFingerTapKeyCode = (KeyCode)27;
private const KeyCode _twoFingerHoldKeyCode = (KeyCode)278;
private const KeyCode _twoFingerSwipeForwardKeyCode = (KeyCode)127;
private const KeyCode _twoFingerSwipeBackKeyCode = (KeyCode)8;
我已經在不同執行緒的某個地方看到過它們,但我認為它們不起作用,但這只是滑鼠輸入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/336650.html
