初次尝试对于标准的joystick或者gamepad 开发,首先想到的是微软的SharpDX (https://github.com/sharpdx/SharpDX),本以为很简单的一件事,结果发现SharpDX.XInput 二、对SharpDX.XInput源码的分析现在知道了SharpDX.XInput并不提供直接的guide键控制项,进一步翻源码看看为啥他只有这些个枚举值,以及它怎么实现的,看看我们是否能够通过修改枚举值来实现功能 xinput1_4.dll,xinput1_3.dll,xinput9_1_0.dll,我们继续翻看xinput的实现, 找到这个函数,发现通过这个函数来获取每个按键状态,是不是将输出类型改成uint就行 三、抛弃SharpDX.XInput 想着是不是可以hid方式去读取设备,获取原始输入值。
主要思想是通过xinput禁用驱动解决,缺点是关机后失效。 本此使用的环境: ThinkPad-S3-Yoga-14。 Ubuntu 18.10 xinput 1.在终端输入xinput 在列出的输入设备列表中查找触摸屏对应的名称.这里是SYNAPTICS Synaptics Touch Digitizer V04和其id 2、设置触摸屏的enabled属性为0,禁用触摸屏 xinput set-prop 14 "Device Enabled" 0 3、查看触摸屏属性列表 xinput list-props 14 配置开机自动执行 /bin/bash # 禁用桌面触摸屏 DESKTOP_DEV='SYNAPTICS Synaptics Touch Digitizer V04' HAVE_DISKTOP_TOUCH=`xinput = "" ]; then echo "触摸屏开始关闭" if [ `xinput list-props "$DESKTOP_DEV" | grep "Device Enabled" | awk
下面开始介绍校正方法: 准备 安装需要用到的工具: xinput-calibrator : 触摸屏校正工具 xinput : 屏幕映射工具,多屏时使用 ---- 校正 执行 xinput_calibrator --list 查看触摸设备列表 校正设备 xinput_calibrator -v --device <device name or id>device name or id 从上面的 list 中得到 evdev使用 evedev 驱动时可直接使用 xinput_calibrator 输出的数据,无需其它设置。 测试时使用 xinput 设置 Evdev Axis Calibration 属性。 libinput 使用 libinput 驱动时需要将 xinput_calibrator 输出的数据进行计算才可使用,计算方法参见: Libinput breaks xinput_calibrator
$refs.xinput. $refs.xinput. $refs.xinput. $refs.xinput. $refs.xinput.
gamesServer2008R2默认不带Win7旗舰版的游戏(Win7企业版默认没有启用游戏,需要从"打开或关闭Windows功能"勾选启用)我这里提供一个压缩包,里面的gameux.dll、slc.dll、XInput9 6.0.6001.18000,后来我又搜了下6.0.6001版本还有个2009年的6.0.6001.18005也能用需要注意的第2点:MineSweeper.exe依赖同目录的MineSweeper.dll、slc.dll、XInput9 _1_0.dll,需要整体迁移安装或修复DirectX并不能拥有XInput9_1_0.dll,用https://blog.csdn.net/2301_76755223/article/details/ 133513971 这个方案下载XInput9_1_0.dll后有多个版本,右侧打开按钮就是文件,只不过这里要注意下,30kb的文件需要放到system32目录,25kb的文件需要放到syswow64目录需要注意的第
二是这样做未必就可行,因为有时候安装之后 在执行上面第二条命令的时候系统提示“update-alternatives: Cannot find alternative `/etc/X11/xinit/xinput.d (二) 我在使用上述四种方法的时候都会遇到提示“update-alternatives: Cannot find alternative `/etc/X11/xinit/xinput.d/fcitx ,只好使用以下办法: 前提是上面四种办法都会遇到这种情况,而且/etc/X11/xinit/xinput.d/中fcitx文件确实是存在的。 那么: 修改/etc/X11/Xsession.d/95xinput(如果没有就新建): export XMODIFIERS=”@im=fcitx” export XIM=fcitx bin/fcitx XIM_ARGS=”” GTK_IM_MODULE=XIM QT_IM_MODULE=XIM DEPENDS=”fcitx” 复制到 /etc/X11/xinit/xinput.d
public class PlayerGroundedState : PlayerState { protected int xInput; protected int yInput; isExitingState) {//没有结束状态 if (xInput ! ">玩家x轴的输入</param> public void CheckIfShouldFilp(int xInput) { if (xInput ! = 0 && xInput ! ); player.SetVelocityX(playerData.movementVelocity * xInput); if (!
报错:找不到XINPUT1_3.dll,无法继续执行代码 报错 解决方法 首先感谢大佬的工具: 工具原作者博客 下载DirectX Repair进行自动修复:DirectX_Repair下载 下载完成后
echo ‘export XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE=”scim” ; scim -d ‘ > /etc/X11/Xsession.d/95xinput ” sudo chmod 755 /etc/X11/Xsession.d/95xinput * 英文环境下运行SCIM请修改环境设置如下: sudo gedit /etc/environment
list 可见如下输出信息 $ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] 在触摸没有宽度高度信息时,使用 xinput list 2 所见也是没有 Abs MT Touch Major 和 Abs MT Touch Minor 信息,只有 Rel X 和 Rel Y 等信息 $ xinput list 2 Virtual list 2 命令,也是可以看到触摸宽度高度信息 $ xinput list 2 Virtual core pointer id=2 [master 测试程序或使用 xinput 都能拿到触摸宽度高度信息 预计是一段时间没有碰触摸屏,导致触摸进入某个状态 本文以上代码放在 github 和 gitee 上,可以使用如下命令行拉取代码。
echo 'export XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE="scim" ; scim -d ' > /etc/X11/Xsession.d/95xinput " sudo chmod 755 /etc/X11/Xsession.d/95xinput * 英文环境下运行SCIM请修改环境设置如下: sudo gedit /etc/environment
required> </x-input>
可选的组件有D3DX库, XACT, XINPUT和Managed DirectX. 至于XACT, XINPUT和MDX用到哪个加上哪个的cab.
可选的组件有D3DX库, XACT, XINPUT和Managed DirectX. 至于XACT, XINPUT和MDX用到哪个加上哪个的cab.
# 列出所有输入设备xinput list找到鼠标设备的名称和 ID(如 Virtual core pointer 或具体型号)。2. 测试鼠标功能通过工具测试鼠标的移动和按键功能。 # 列出触摸板设备 IDxinput list # 禁用触摸板(将 <ID> 替换为实际设备 ID)xinput disable <ID> # 启用触摸板xinput enable <ID>6.
为了解决触摸板不准的问题,找到了 xinput_calibrator 这个屏幕校准的工具,结果由于屏幕太矮,下面的两个检查点根本点不到,太坑。 /xinput-calibrator_0.7.5-1_armhf.deb sudo apt-get install cmake -y cd . /xinput-calibrator_0.7.5-1_armhf.deb 操作。不懂为啥他要把 xinput-calibrator 的 armhf 包写死在项目里。 解决方法是,把这行直接改成 sudo apt install xinput-calibrator -y 即可。
Dependencies dbghelp.lib dxguid.lib wsock32.lib rpcrt4.lib wininet.lib d3d9.lib d3dx9.lib dinput8.lib xinput.lib Dependencies dbghelp.lib dxguid.lib wsock32.lib rpcrt4.lib wininet.lib d3d9.lib d3dx9.lib dinput8.lib xinput.lib
document.registerElement('x-input', { prototype: xInputProto, extends: 'input' }) // 操作 const xInput1 = document.createElement('input', 'x-input') // <input is="x-input"> console.log(xInput1.value) // x-input console.log(xInput1.isEmail()) // false Custom Element v1 —— 换个装而已啦 Custom Element API现在已经升级到v1版本了, show(){ this.style.display = 'block' } } customElements.define('x-alert', XAlert) 渐进增强 class XInput ('input', {is: 'x-input'}) new XInput() <input is="x-input"> 除此之外之前的unresolved状态改成defined和undefined状态
在/etc/X11/xinit/xinput.d下新建配置文件fcitx.conf 文件内容: XIM=fcitx XIM_PROGRAM=/usr/bin/fcitx XIM_ARGS="-d" xinputrc sudo mv /etc/alternatives/xinputrc /etc/alternatives/xinputrc.bak sudo ln -s /etc/X11/xinit/xinput.d
echo ‘export XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE=”scim” ; scim -d ‘ > /etc/X11/Xsession.d/95xinput ” sudo chmod +755 /etc/X11/Xsession.d/95xinput * fcitx: sudo apt-get install fcitx sudo sh -c ” echo ‘export XMODIFIERS=@im=fcitx ; export GTK_IM_MODULE=”fcitx” ; fcitx ‘ > /etc/X11/Xsession.d/95xinput ” sudo chmod +755 /etc/X11/Xsession.d/95xinput # 设置LC_ALL和其它属性: sudo gedit /etc/environment * 在编辑器里