Skip to content

Commit

Permalink
docs: update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
rankun committed Sep 1, 2019
1 parent 8460267 commit 31bc7f1
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 5 deletions.
Empty file added FAQ.md
Empty file.
18 changes: 13 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,20 @@ QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备,并进行显示和

![linux](screenshot/ubuntu.png)

## 游戏映射(仅windows平台开启)
额外针对和平精英手游进行键鼠映射,可以用键鼠像玩端游一样玩和平精英手游,默认按键映射如下:
## 自定义按键映射(仅windows平台开启)
可以根据需要,自己编写脚本将PC键盘按键映射为手机的触摸点击,编写规则在[这里](按键映射说明.md)

默认自带了针对和平精英手游进行键鼠映射的映射脚本,开启后可以用键鼠像玩端游一样玩和平精英手游,你也可以按照[编写规则](按键映射说明.md)编写其他游戏的映射文件,默认按键映射如下:

![game](screenshot/game.jpg)

操作方法如下:
- 启动服务之前记得勾选和平精英选项
[这里有玩和平精英的视频演示]()

自定义按键映射操作方法如下:
- 编写自定义脚本放入keymap目录
- 启动服务之前记得勾选自定义映射选项,并选择自定义映射脚本
- 连接手机以后进入游戏场景
-~键(数字键1左边)切换为游戏映射模式即可体验
-~键(数字键1左边)切换为游戏映射模式即可体验(具体按什么键要看你按键脚本定义的switchKey)
- 再次按~键切换为正常控制模式
- 要想wasd控制开车记得在载具设置中设置为单摇杆模式

Expand Down Expand Up @@ -157,6 +162,9 @@ Mac OS平台,你可以直接使用我编译好的可执行程序:
## TODO
[后期计划](TODO.md)

## FAQ
[常见问题说明](FAQ.md)

## 为什么开发QtScrcpy?
综合起来有以下几个原因,比重从大到小排列:
1. 学习Qt的过程中需要一个项目实战一下
Expand Down
56 changes: 56 additions & 0 deletions 按键映射说明.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# 自定义按键映射说明

按键映射文件为json格式,新增自己的按键映射文件需要放在keymap目录中才可以被QtScrcpy识别。

按键映射文件的具体编写格式下面会介绍,也可以参考自带的按键映射文件。

## 按键映射脚本格式说明

### 通用说明

- 按键映射中的坐标位置都是用相对位置表示的,屏幕的宽高都用1表示,例如屏幕的像素为1920x1080,那么坐标(0.5,0.5)则表示的是
以屏幕左上角为原点,像素坐标(1920,1080)*(0.5,0.5)=(960,540)的位置。
- 按键映射中的按键码是用Qt的枚举表示的,详细说明可以[参考Qt文档](https://doc-snapshots.qt.io/4.8/qt.html)(搜索 The key names used by Qt. 可以快速定位)。

### 映射类型说明

- switchKey:切换自定义按键映射的开关键,默认为普通映射,需要使用这个按键在普通映射和自定义映射之间切换。

- mouseMoveMap:鼠标移动映射,鼠标的移动将被映射为以startPos为起点,以鼠标移动方向为移动方向的手指拖动操作。
一般在FPS手游中用来调整人物视野。
- startPos 手指拖动起始点
- speedRatio 鼠标移动映射为手指拖动的比例,可以控制鼠标灵敏度

- keyMapNodes 一般按键的映射,json数组,所有一般按键映射都放在这个数组中,将键盘的按键映射为普通的手指点击。

一般按键映射有如下几种类型:

- type 按键映射的类型,每个keyMapNodes中的元素都需要指明,可以是如下类型:
- KMT_CLICK 普通点击,键盘按下模拟为手指按下,键盘抬起映射为手指抬起
- KMT_CLICK_TWICE 两次点击,键盘按下模拟为手指按下再抬起,键盘抬起映射为手指按下再抬起
- KMT_STEER_WHEEL 方向盘映射,专用于FPS游戏中移动人物脚步的方向盘的映射,需要4个按键来配合。

不同按键映射类型的专有属性说明:

- KMT_CLICK
- key 要映射的按键码
- pos 模拟触摸的位置
- switchMap 是否切换按键模式,点击此按键后,除了默认的模拟触摸映射,是否附带切换按键映射模式。(可以参考和平精英映射中M地图映射的效果)

- KMT_CLICK_TWICE
- key 要映射的按键码
- pos 模拟触摸的位置

- KMT_STEER_WHEEL
- centerPos 方向盘中心点
- leftKey 左方向的按键控制
- rightKey 右方向的按键控制
- upKey 上方向的按键控制
- downKey 下方向的按键控制
- leftOffset 按下左方向键后模拟拖动到相对centerPos位置水平偏左leftOffset处
- rightOffset 按下右方向键后模拟拖动到相对centerPos位置水平偏右rightOffset处
- upOffset 按下上方向键后模拟拖动到相对centerPos位置水平偏上upOffset处
- downOffset 按下下方向键后模拟拖动到相对centerPos位置水平偏下downOffset处



0 comments on commit 31bc7f1

Please sign in to comment.