2022-01-05 19:44:30 +01:00
|
|
|
using System;
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
using UnityEngine;
|
2022-02-15 00:37:33 +01:00
|
|
|
using WindowsInput.Native;
|
2022-01-05 19:44:30 +01:00
|
|
|
public class ButtonToKey : MonoBehaviour
|
|
|
|
{
|
|
|
|
[DllImport("user32.dll")]
|
|
|
|
public static extern uint MapVirtualKey(uint uCode, uint uMapType);
|
|
|
|
[DllImport("user32.dll")]
|
|
|
|
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
|
2022-02-15 00:37:33 +01:00
|
|
|
public VirtualKeyCode keyToPress;
|
2022-01-16 18:34:39 +01:00
|
|
|
//public Light lightTarget;
|
2022-02-15 00:37:33 +01:00
|
|
|
//public UnityEditor.Experimental.TerrainAPI.VirtualKeyCode Keys;
|
|
|
|
|
2022-01-05 19:44:30 +01:00
|
|
|
|
|
|
|
void Start()
|
|
|
|
{
|
2022-01-16 18:34:39 +01:00
|
|
|
//lightTarget.gameObject.SetActive(false);
|
2022-01-05 19:44:30 +01:00
|
|
|
}
|
|
|
|
|
2022-01-05 20:38:10 +01:00
|
|
|
private void OnTriggerEnter(Collider other)
|
2022-01-05 19:44:30 +01:00
|
|
|
{
|
|
|
|
keybd_event(System.Convert.ToByte(keyToPress), (byte)MapVirtualKey((uint)keyToPress, 0), 0, UIntPtr.Zero);
|
2022-01-16 18:34:39 +01:00
|
|
|
//lightTarget.gameObject.SetActive(true);
|
2022-01-05 19:44:30 +01:00
|
|
|
}
|
|
|
|
|
2022-01-05 20:38:10 +01:00
|
|
|
private void OnTriggerExit(Collider other)
|
2022-01-05 19:44:30 +01:00
|
|
|
{
|
|
|
|
keybd_event(System.Convert.ToByte(keyToPress), (byte)MapVirtualKey((uint)keyToPress, 0), 2, UIntPtr.Zero);
|
2022-01-16 18:34:39 +01:00
|
|
|
//lightTarget.gameObject.SetActive(false);
|
2022-01-05 19:44:30 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|