浏览代码

fix input

/siyaoH-1.17-PlatformMessage
siyao 4 年前
当前提交
1e99121d
共有 5 个文件被更改,包括 23 次插入7 次删除
  1. 2
      com.unity.uiwidgets/Runtime/engine2/UIWidgetsPanel.cs
  2. 6
      com.unity.uiwidgets/Runtime/gestures/converter.cs
  3. 18
      com.unity.uiwidgets/Runtime/services/keyboard.cs
  4. 2
      com.unity.uiwidgets/Runtime/ui2/pointer.cs
  5. 2
      com.unity.uiwidgets/Runtime/ui2/text.cs

2
com.unity.uiwidgets/Runtime/engine2/UIWidgetsPanel.cs


using System.Runtime.InteropServices;
using AOT;
using Unity.UIWidgets.foundation;
using Unity.UIWidgets.gestures;
using Unity.UIWidgets.services;
using Unity.UIWidgets.ui;
using UnityEngine;

void Input_OnGUI() {
Event e = Event.current;
if (e.isKey) {
PointerEventConverter.KeyEvent = e;
UIWidgetsPanel_onKey(_ptr, e.keyCode, e.type == EventType.KeyDown);
if (e.character != 0) {
UIWidgetsPanel_onChar(_ptr, e.character);

6
com.unity.uiwidgets/Runtime/gestures/converter.cs


using System;
using System.Collections.Generic;
using Unity.UIWidgets.foundation;
using Unity.UIWidgets.ui;

var radiusMax = _toLogicalPixels(datum.radiusMax, devicePixelRatio);
var timeStamp = datum.timeStamp;
var kind = datum.kind;
// TODO: datum.signalKind is not nullable, "else" could not be reached
if (datum.signalKind == null || datum.signalKind == ui.PointerSignalKind.none) {
switch (datum.change) {
case PointerChange.add: {

}else if (datum.change == PointerChange.kMouseUp) {
keyBoardEvent.type = EventType.KeyUp;
}
TextInput.OnGUI();
}
break;
}

}
}
public static Event KeyEvent = null;
static float _toLogicalPixels(float physicalPixels, float devicePixelRatio) {
return physicalPixels / devicePixelRatio;
}

18
com.unity.uiwidgets/Runtime/services/keyboard.cs


using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Unity.UIWidgets.async2;
using Unity.UIWidgets.gestures;
using Unity.UIWidgets.ui;
using UnityEngine;

}
var currentEvent = Event.current;
var currentEvent = PointerEventConverter.KeyEvent;
Debug.Log($"event: {currentEvent}");
var oldValue = _value;
if (currentEvent != null && currentEvent.type == EventType.KeyDown) {

_value = _value.insert(new string(ch, 1));
}
}
else if (!string.IsNullOrEmpty(Input.compositionString)) {
else if (!string.IsNullOrEmpty(currentEvent.keyCode.ToString())) {
_value = _value.compose(Input.compositionString);
Debug.Log($"event:? {currentEvent}");
_value = _value.compose(currentEvent.keyCode.ToString());
}
currentEvent.Use();

if (this.isIMEInput) {
var isIMEInput = this.isIMEInput;
Window.instance.run(() => { TextInput._updateEditingState(_client, _value, isIMEInput); });
Timer.create(TimeSpan.Zero, () => {
TextInput._updateEditingState(_client, _value, isIMEInput);
});
Window.instance.run(() => { TextInput._updateEditingState(_client, _value); });
Timer.create(TimeSpan.Zero, () => {
TextInput._updateEditingState(_client, _value);
});
}
}
}

2
com.unity.uiwidgets/Runtime/ui2/pointer.cs


mouse = 1,
stylus,
invertedStylus,
unknown,
unknown,
}
public enum PointerSignalKind {

2
com.unity.uiwidgets/Runtime/ui2/text.cs


public string textInside(string text) {
D.assert(isNormalized);
return text.Substring(start, end);
return text.Substring(start, end - start);
}
public override string ToString() {

正在加载...
取消
保存