Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
anbox
提交
4d40065a
A
anbox
项目概览
openeuler
/
anbox
通知
24
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
anbox
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4d40065a
编写于
6月 20, 2016
作者:
S
Simon Fels
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Drop libevdev usage
上级
f9164c47
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
1 addition
and
38 deletion
+1
-38
CMakeLists.txt
CMakeLists.txt
+0
-1
src/CMakeLists.txt
src/CMakeLists.txt
+0
-3
src/anbox/input_channel.cpp
src/anbox/input_channel.cpp
+1
-34
未找到文件。
CMakeLists.txt
浏览文件 @
4d40065a
...
...
@@ -62,7 +62,6 @@ find_package(EGL REQUIRED)
find_package
(
GLESv2 REQUIRED
)
pkg_check_modules
(
MIRCLIENT REQUIRED mirclient
)
pkg_check_modules
(
LIBEVDEV REQUIRED libevdev
)
#####################################################################
# Enable code coverage calculation with gcov/gcovr/lcov
...
...
src/CMakeLists.txt
浏览文件 @
4d40065a
...
...
@@ -4,7 +4,6 @@ include_directories(
${
GIO_INCLUDE_DIRS
}
${
GIO-UNIX_INCLUDE_DIRS
}
${
MIRCLIENT_INCLUDE_DIRS
}
${
LIBEVDEV_INCLUDE_DIRS
}
${
CMAKE_SOURCE_DIR
}
${
CMAKE_SOURCE_DIR
}
/src
${
CMAKE_SOURCE_DIR
}
/external/process-cpp-minimal/include
...
...
@@ -70,8 +69,6 @@ target_link_libraries(anbox-core
${
Boost_LIBRARIES
}
${
MIRCLIENT_LDFLAGS
}
${
MIRCLIENT_LIBRARIES
}
${
LIBEVDEV_LDFLAGS
}
${
LIBEVDEV_LIBRARIES
}
pthread
process-cpp
OpenglRender
)
...
...
src/anbox/input_channel.cpp
浏览文件 @
4d40065a
...
...
@@ -22,54 +22,21 @@
#include <stdexcept>
#include <libevdev/libevdev.h>
#include <libevdev/libevdev-uinput.h>
namespace
anbox
{
InputChannel
::
InputChannel
()
:
dev_
(
nullptr
)
{
}
InputChannel
::~
InputChannel
()
{
if
(
dev_
)
libevdev_uinput_destroy
(
dev_
);
}
void
InputChannel
::
setup
(
int
width
,
int
height
)
{
DEBUG
(
""
);
auto
dev
=
libevdev_new
();
libevdev_set_name
(
dev
,
"anbox-tp"
);
libevdev_enable_event_type
(
dev
,
EV_ABS
);
struct
input_absinfo
mt_tracking_id
=
{
0
,
0
,
255
,
0
,
0
,
0
};
libevdev_enable_event_code
(
dev
,
EV_ABS
,
ABS_MT_TRACKING_ID
,
&
mt_tracking_id
);
struct
input_absinfo
mt_slot
=
{
0
,
0
,
255
,
0
,
0
,
0
};
libevdev_enable_event_code
(
dev
,
EV_ABS
,
ABS_MT_SLOT
,
&
mt_slot
);
struct
input_absinfo
mt_pos_x
=
{
0
,
0
,
width
,
0
,
0
,
0
};
libevdev_enable_event_code
(
dev
,
EV_ABS
,
ABS_MT_POSITION_X
,
&
mt_pos_x
);
struct
input_absinfo
mt_pos_y
=
{
0
,
0
,
height
,
0
,
0
,
0
};
libevdev_enable_event_code
(
dev
,
EV_ABS
,
ABS_MT_POSITION_Y
,
&
mt_pos_y
);
struct
input_absinfo
mt_pressure
=
{
0
,
0
,
5
,
0
,
0
,
0
};
libevdev_enable_event_code
(
dev
,
EV_ABS
,
ABS_MT_PRESSURE
,
&
mt_pressure
);
libevdev_enable_event_type
(
dev
,
EV_SYN
);
libevdev_enable_property
(
dev
,
INPUT_PROP_DIRECT
);
if
(
libevdev_uinput_create_from_device
(
dev
,
LIBEVDEV_UINPUT_OPEN_MANAGED
,
&
dev_
)
<
0
)
{
libevdev_free
(
dev
);
BOOST_THROW_EXCEPTION
(
std
::
runtime_error
(
"Failed to create uinput based device"
));
}
}
void
InputChannel
::
push_event
(
const
Event
&
event
)
{
libevdev_uinput_write_event
(
dev_
,
event
.
type
,
event
.
code
,
event
.
value
);
}
std
::
string
InputChannel
::
dev_path
()
const
{
if
(
!
dev_
)
return
""
;
return
std
::
string
(
libevdev_uinput_get_devnode
(
dev_
));
return
""
;
}
}
// namespace anbox
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录