Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
anbox
提交
6307ee4b
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,发现更多精彩内容 >>
提交
6307ee4b
编写于
1月 03, 2017
作者:
S
Simon Fels
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reformat all code parts
上级
1820c9cd
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
406 addition
and
396 deletion
+406
-396
src/anbox/application_manager.h
src/anbox/application_manager.h
+1
-1
src/anbox/cli.cpp
src/anbox/cli.cpp
+6
-3
src/anbox/cli.h
src/anbox/cli.h
+2
-2
src/anbox/common/message_channel.cpp
src/anbox/common/message_channel.cpp
+29
-30
src/anbox/common/message_channel.h
src/anbox/common/message_channel.h
+54
-54
src/anbox/common/scope_ptr.h
src/anbox/common/scope_ptr.h
+45
-44
src/anbox/container/client.cpp
src/anbox/container/client.cpp
+1
-1
src/anbox/dbus/skeleton/application_manager.cpp
src/anbox/dbus/skeleton/application_manager.cpp
+1
-1
src/anbox/graphics/emugl/RenderControl.cpp
src/anbox/graphics/emugl/RenderControl.cpp
+1
-1
src/anbox/graphics/emugl/RenderThread.h
src/anbox/graphics/emugl/RenderThread.h
+2
-2
src/anbox/graphics/emugl/Renderer.cpp
src/anbox/graphics/emugl/Renderer.cpp
+1
-1
src/anbox/graphics/emugl/WindowSurface.h
src/anbox/graphics/emugl/WindowSurface.h
+3
-1
src/anbox/logger.h
src/anbox/logger.h
+7
-2
src/anbox/testing/gtest_utils.h
src/anbox/testing/gtest_utils.h
+18
-18
src/anbox/ubuntu/keycode_converter.cpp
src/anbox/ubuntu/keycode_converter.cpp
+235
-235
未找到文件。
src/anbox/application_manager.h
浏览文件 @
6307ee4b
...
...
@@ -19,8 +19,8 @@
#define ANBOX_APPLICATION_MANAGER_H_
#include "anbox/android/intent.h"
#include "anbox/graphics/rect.h"
#include "anbox/do_not_copy_or_move.h"
#include "anbox/graphics/rect.h"
#include <string>
...
...
src/anbox/cli.cpp
浏览文件 @
6307ee4b
...
...
@@ -105,14 +105,16 @@ void cli::CommandWithSubcommands::help(std::ostream& out) {
<<
std
::
endl
;
if
(
flags_
.
size
()
>
0
)
{
out
<<
std
::
endl
<<
pattern
::
options
<<
std
::
endl
;
out
<<
std
::
endl
<<
pattern
::
options
<<
std
::
endl
;
for
(
const
auto
&
flag
:
flags_
)
out
<<
boost
::
format
(
pattern
::
option
)
%
flag
->
name
()
%
flag
->
description
()
<<
std
::
endl
;
}
if
(
commands_
.
size
()
>
0
)
{
out
<<
std
::
endl
<<
pattern
::
commands
<<
std
::
endl
;
out
<<
std
::
endl
<<
pattern
::
commands
<<
std
::
endl
;
for
(
const
auto
&
cmd
:
commands_
)
{
if
(
cmd
.
second
)
out
<<
boost
::
format
(
pattern
::
command
)
%
cmd
.
second
->
name
()
%
...
...
@@ -222,7 +224,8 @@ void cli::CommandWithFlagsAndAction::help(std::ostream& out) {
<<
std
::
endl
;
if
(
flags_
.
size
()
>
0
)
{
out
<<
std
::
endl
<<
boost
::
format
(
pattern
::
options
)
<<
std
::
endl
;
out
<<
std
::
endl
<<
boost
::
format
(
pattern
::
options
)
<<
std
::
endl
;
for
(
const
auto
&
flag
:
flags_
)
out
<<
boost
::
format
(
pattern
::
option
)
%
flag
->
name
()
%
flag
->
description
()
<<
std
::
endl
;
...
...
src/anbox/cli.h
浏览文件 @
6307ee4b
...
...
@@ -198,8 +198,8 @@ class Command : public DoNotCopyOrMove {
/// @brief Context bundles information passed to Command::run invocations.
struct
Context
{
std
::
istream
&
cin
;
///< The std::istream that should be used for reading.
std
::
ostream
&
cout
;
///< The std::ostream that should be used for writing.
std
::
istream
&
cin
;
///< The std::istream that should be used for reading.
std
::
ostream
&
cout
;
///< The std::ostream that should be used for writing.
std
::
vector
<
std
::
string
>
args
;
///< The command line args.
};
...
...
src/anbox/common/message_channel.cpp
浏览文件 @
6307ee4b
...
...
@@ -16,50 +16,49 @@
namespace
anbox
{
namespace
common
{
MessageChannelBase
::
MessageChannelBase
(
size_t
capacity
)
:
pos_
(
0U
),
count_
(
0U
),
capacity_
(
capacity
),
lock_
(),
can_read_
(),
can_write_
()
{}
MessageChannelBase
::
MessageChannelBase
(
size_t
capacity
)
:
pos_
(
0U
),
count_
(
0U
),
capacity_
(
capacity
),
lock_
(),
can_read_
(),
can_write_
()
{}
MessageChannelBase
::~
MessageChannelBase
()
{}
size_t
MessageChannelBase
::
before_write
()
{
std
::
unique_lock
<
std
::
mutex
>
l
(
lock_
,
std
::
defer_lock
);
lock_
.
lock
();
std
::
unique_lock
<
std
::
mutex
>
l
(
lock_
,
std
::
defer_lock
);
lock_
.
lock
();
while
(
count_
>=
capacity_
)
can_write_
.
wait
(
l
);
while
(
count_
>=
capacity_
)
can_write_
.
wait
(
l
);
size_t
result
=
pos_
+
count_
;
if
(
result
>=
capacity_
)
result
-=
capacity_
;
size_t
result
=
pos_
+
count_
;
if
(
result
>=
capacity_
)
result
-=
capacity_
;
return
result
;
return
result
;
}
void
MessageChannelBase
::
after_write
()
{
count_
++
;
can_read_
.
notify_one
();
lock_
.
unlock
();
count_
++
;
can_read_
.
notify_one
();
lock_
.
unlock
();
}
size_t
MessageChannelBase
::
before_read
()
{
std
::
unique_lock
<
std
::
mutex
>
l
(
lock_
,
std
::
defer_lock
);
lock_
.
lock
();
while
(
count_
==
0
)
can_read_
.
wait
(
l
);
return
pos_
;
std
::
unique_lock
<
std
::
mutex
>
l
(
lock_
,
std
::
defer_lock
);
lock_
.
lock
();
while
(
count_
==
0
)
can_read_
.
wait
(
l
);
return
pos_
;
}
void
MessageChannelBase
::
after_read
()
{
if
(
++
pos_
==
capacity_
)
pos_
=
0U
;
count_
--
;
can_write_
.
notify_one
();
lock_
.
unlock
();
if
(
++
pos_
==
capacity_
)
pos_
=
0U
;
count_
--
;
can_write_
.
notify_one
();
lock_
.
unlock
();
}
}
// namespace common
}
// namespace anbox
}
// namespace common
}
// namespace anbox
src/anbox/common/message_channel.h
浏览文件 @
6307ee4b
...
...
@@ -17,8 +17,8 @@
#include <stddef.h>
#include <mutex>
#include <condition_variable>
#include <mutex>
namespace
anbox
{
namespace
common
{
...
...
@@ -26,41 +26,41 @@ namespace common {
// Base non-templated class used to reduce the amount of template
// specialization.
class
MessageChannelBase
{
public:
// Constructor. |capacity| is the buffer capacity in messages.
MessageChannelBase
(
size_t
capacity
);
// Destructor.
~
MessageChannelBase
();
protected:
// Call this method in the sender thread before writing a new message.
// This returns the position of the available slot in the message array
// where to copy the new fixed-size message. After the copy, call
// afterWrite().
size_t
before_write
();
// To be called after beforeWrite() and copying a new fixed-size message
// into the array. This signal the receiver thread that there is a new
// incoming message.
void
after_write
();
// Call this method in the receiver thread before reading a new message.
// This returns the position in the message array where the new message
// can be read. Caller must process the message, then call afterRead().
size_t
before_read
();
// To be called in the receiver thread after beforeRead() and processing
// the corresponding message.
void
after_read
();
private:
size_t
pos_
;
size_t
count_
;
size_t
capacity_
;
std
::
mutex
lock_
;
std
::
condition_variable
can_read_
;
std
::
condition_variable
can_write_
;
public:
// Constructor. |capacity| is the buffer capacity in messages.
MessageChannelBase
(
size_t
capacity
);
// Destructor.
~
MessageChannelBase
();
protected:
// Call this method in the sender thread before writing a new message.
// This returns the position of the available slot in the message array
// where to copy the new fixed-size message. After the copy, call
// afterWrite().
size_t
before_write
();
// To be called after beforeWrite() and copying a new fixed-size message
// into the array. This signal the receiver thread that there is a new
// incoming message.
void
after_write
();
// Call this method in the receiver thread before reading a new message.
// This returns the position in the message array where the new message
// can be read. Caller must process the message, then call afterRead().
size_t
before_read
();
// To be called in the receiver thread after beforeRead() and processing
// the corresponding message.
void
after_read
();
private:
size_t
pos_
;
size_t
count_
;
size_t
capacity_
;
std
::
mutex
lock_
;
std
::
condition_variable
can_read_
;
std
::
condition_variable
can_write_
;
};
// Helper class used to implement an uni-directional IPC channel between
...
...
@@ -75,25 +75,25 @@ private:
//
template
<
typename
T
,
size_t
CAPACITY
>
class
MessageChannel
:
public
MessageChannelBase
{
public:
MessageChannel
()
:
MessageChannelBase
(
CAPACITY
)
{}
void
send
(
const
T
&
msg
)
{
size_t
pos
=
before_write
();
mItems
[
pos
]
=
msg
;
after_write
();
}
void
receive
(
T
*
msg
)
{
size_t
pos
=
before_read
();
*
msg
=
mItems
[
pos
];
after_read
();
}
private:
T
mItems
[
CAPACITY
];
public:
MessageChannel
()
:
MessageChannelBase
(
CAPACITY
)
{}
void
send
(
const
T
&
msg
)
{
size_t
pos
=
before_write
();
mItems
[
pos
]
=
msg
;
after_write
();
}
void
receive
(
T
*
msg
)
{
size_t
pos
=
before_read
();
*
msg
=
mItems
[
pos
];
after_read
();
}
private:
T
mItems
[
CAPACITY
];
};
}
// namespace common
}
// namespace anbox
}
// namespace anbox
#endif
src/anbox/common/scope_ptr.h
浏览文件 @
6307ee4b
...
...
@@ -23,48 +23,49 @@ namespace anbox {
namespace
common
{
struct
FreeDelete
{
template
<
class
T
>
void
operator
()(
T
ptr
)
const
{
free
((
void
*
)
ptr
);
}
template
<
class
T
>
void
operator
()(
T
ptr
)
const
{
free
((
void
*
)
ptr
);
}
};
template
<
class
Func
>
struct
FuncDelete
{
explicit
FuncDelete
(
Func
f
=
{})
:
mF
(
f
)
{}
FuncDelete
(
const
FuncDelete
&
other
)
=
default
;
FuncDelete
(
FuncDelete
&&
other
)
=
default
;
FuncDelete
&
operator
=
(
const
FuncDelete
&
other
)
=
default
;
FuncDelete
&
operator
=
(
FuncDelete
&&
other
)
=
default
;
// To be able to copy/move from all compatible template instantiations.
template
<
class
U
>
friend
struct
FuncDelete
;
// Template constructors and move assignment from compatible instantiations.
template
<
class
U
>
FuncDelete
(
const
FuncDelete
<
U
>&
other
)
:
mF
(
other
.
mF
)
{}
template
<
class
U
>
FuncDelete
(
FuncDelete
<
U
>&&
other
)
:
mF
(
std
::
move
(
other
.
mF
))
{}
template
<
class
U
>
FuncDelete
&
operator
=
(
const
FuncDelete
<
U
>&
other
)
{
mF
=
other
.
mF
;
return
*
this
;
}
template
<
class
U
>
FuncDelete
&
operator
=
(
FuncDelete
<
U
>&&
other
)
{
mF
=
std
::
move
(
other
.
mF
);
return
*
this
;
}
// This is the actual deleter call.
template
<
class
T
>
void
operator
()(
T
t
)
const
{
mF
(
t
);
}
private:
Func
mF
;
explicit
FuncDelete
(
Func
f
=
{})
:
mF
(
f
)
{}
FuncDelete
(
const
FuncDelete
&
other
)
=
default
;
FuncDelete
(
FuncDelete
&&
other
)
=
default
;
FuncDelete
&
operator
=
(
const
FuncDelete
&
other
)
=
default
;
FuncDelete
&
operator
=
(
FuncDelete
&&
other
)
=
default
;
// To be able to copy/move from all compatible template instantiations.
template
<
class
U
>
friend
struct
FuncDelete
;
// Template constructors and move assignment from compatible instantiations.
template
<
class
U
>
FuncDelete
(
const
FuncDelete
<
U
>&
other
)
:
mF
(
other
.
mF
)
{}
template
<
class
U
>
FuncDelete
(
FuncDelete
<
U
>&&
other
)
:
mF
(
std
::
move
(
other
.
mF
))
{}
template
<
class
U
>
FuncDelete
&
operator
=
(
const
FuncDelete
<
U
>&
other
)
{
mF
=
other
.
mF
;
return
*
this
;
}
template
<
class
U
>
FuncDelete
&
operator
=
(
FuncDelete
<
U
>&&
other
)
{
mF
=
std
::
move
(
other
.
mF
);
return
*
this
;
}
// This is the actual deleter call.
template
<
class
T
>
void
operator
()(
T
t
)
const
{
mF
(
t
);
}
private:
Func
mF
;
};
template
<
class
T
,
class
Deleter
=
std
::
default_delete
<
T
>
>
...
...
@@ -85,13 +86,13 @@ template <class T,
class
=
enable_if_c
<
std
::
is_same
<
T
,
std
::
nullptr_t
>
::
value
||
std
::
is_pointer
<
T
>::
value
>>
ScopedCustomPtr
<
typename
std
::
decay
<
typename
std
::
remove_pointer
<
T
>::
type
>::
type
,
typename
std
::
decay
<
Func
>::
type
>
typename
std
::
decay
<
typename
std
::
remove_pointer
<
T
>::
type
>::
type
,
typename
std
::
decay
<
Func
>::
type
>
makeCustomScopedPtr
(
T
data
,
Func
deleter
)
{
return
ScopedCustomPtr
<
typename
std
::
decay
<
typename
std
::
remove_pointer
<
T
>::
type
>::
type
,
typename
std
::
decay
<
Func
>::
type
>
(
data
,
FuncDelete
<
typename
std
::
decay
<
Func
>::
type
>
(
deleter
));
return
ScopedCustomPtr
<
typename
std
::
decay
<
typename
std
::
remove_pointer
<
T
>::
type
>::
type
,
typename
std
::
decay
<
Func
>::
type
>
(
data
,
FuncDelete
<
typename
std
::
decay
<
Func
>::
type
>
(
deleter
));
}
}
// namespace common
...
...
src/anbox/container/client.cpp
浏览文件 @
6307ee4b
...
...
@@ -18,11 +18,11 @@
#include "anbox/container/client.h"
#include "anbox/config.h"
#include "anbox/container/management_api_stub.h"
#include "anbox/logger.h"
#include "anbox/network/local_socket_messenger.h"
#include "anbox/rpc/channel.h"
#include "anbox/rpc/message_processor.h"
#include "anbox/rpc/pending_call_cache.h"
#include "anbox/logger.h"
namespace
ba
=
boost
::
asio
;
namespace
bs
=
boost
::
system
;
...
...
src/anbox/dbus/skeleton/application_manager.cpp
浏览文件 @
6307ee4b
...
...
@@ -45,7 +45,7 @@ ApplicationManager::ApplicationManager(
reader
>>
top
;
reader
>>
right
;
reader
>>
bottom
;
graphics
::
Rect
launch_bounds
{
left
,
top
,
right
,
bottom
};
graphics
::
Rect
launch_bounds
{
left
,
top
,
right
,
bottom
};
core
::
dbus
::
Message
::
Ptr
reply
;
...
...
src/anbox/graphics/emugl/RenderControl.cpp
浏览文件 @
6307ee4b
...
...
@@ -141,7 +141,7 @@ static EGLint rcChooseConfig(EGLint *attribs, uint32_t attribs_size,
return
0
;
return
renderer
->
getConfigs
()
->
chooseConfig
(
attribs
,
(
EGLint
*
)
configs
,
(
EGLint
)
configs_size
);
(
EGLint
)
configs_size
);
}
static
EGLint
rcGetFBParam
(
EGLint
param
)
{
...
...
src/anbox/graphics/emugl/RenderThread.h
浏览文件 @
6307ee4b
...
...
@@ -36,7 +36,7 @@ class RenderThread : public emugl::Thread {
// decoding operations between all threads.
// TODO(digit): Why is this needed here? Shouldn't this be handled
// by the decoders themselves or at a lower-level?
static
RenderThread
*
create
(
const
std
::
shared_ptr
<
Renderer
>
&
renderer
,
IOStream
*
stream
,
emugl
::
Mutex
*
mutex
);
static
RenderThread
*
create
(
const
std
::
shared_ptr
<
Renderer
>
&
renderer
,
IOStream
*
stream
,
emugl
::
Mutex
*
mutex
);
// Destructor.
virtual
~
RenderThread
();
...
...
@@ -51,7 +51,7 @@ class RenderThread : public emugl::Thread {
private:
RenderThread
();
// No default constructor
RenderThread
(
const
std
::
shared_ptr
<
Renderer
>
&
renderer
,
IOStream
*
stream
,
emugl
::
Mutex
*
mutex
);
RenderThread
(
const
std
::
shared_ptr
<
Renderer
>
&
renderer
,
IOStream
*
stream
,
emugl
::
Mutex
*
mutex
);
virtual
intptr_t
main
();
...
...
src/anbox/graphics/emugl/Renderer.cpp
浏览文件 @
6307ee4b
...
...
@@ -215,7 +215,7 @@ bool Renderer::initialize(EGLNativeDisplayType nativeDisplay) {
GL_LOG
(
"attempting to create egl context"
);
m_eglContext
=
s_egl
.
eglCreateContext
(
m_eglDisplay
,
m_eglConfig
,
EGL_NO_CONTEXT
,
glContextAttribs
);
EGL_NO_CONTEXT
,
glContextAttribs
);
if
(
m_eglContext
==
EGL_NO_CONTEXT
)
{
ERR
(
"Failed to create context 0x%x
\n
"
,
s_egl
.
eglGetError
());
free
(
gles1Extensions
);
...
...
src/anbox/graphics/emugl/WindowSurface.h
浏览文件 @
6307ee4b
...
...
@@ -56,7 +56,9 @@ class WindowSurface {
bool
flushColorBuffer
();
// Used by bind() below.
enum
BindType
{
BIND_READ
,
BIND_DRAW
,
BIND_READDRAW
};
enum
BindType
{
BIND_READ
,
BIND_DRAW
,
BIND_READDRAW
};
// TODO(digit): What is this used for exactly? For example, the
// mReadContext is never used by this class. The mDrawContext is only
...
...
src/anbox/logger.h
浏览文件 @
6307ee4b
...
...
@@ -33,11 +33,16 @@ class Logger : public DoNotCopyOrMove {
public:
// Severity enumerates all known severity levels
// applicable to log messages.
enum
class
Severity
{
kTrace
,
kDebug
,
kInfo
,
kWarning
,
kError
,
kFatal
};
enum
class
Severity
{
kTrace
,
kDebug
,
kInfo
,
kWarning
,
kError
,
kFatal
};
// A Location describes the origin of a log message.
struct
Location
{
std
::
string
file
;
// The name of the file that contains the log message.
std
::
string
file
;
// The name of the file that contains the log message.
std
::
string
function
;
// The function that contains the log message.
std
::
uint32_t
line
;
// The line in file that resulted in the log message.
};
...
...
src/anbox/testing/gtest_utils.h
浏览文件 @
6307ee4b
...
...
@@ -36,27 +36,27 @@ template <typename Range1,
common
::
is_range
<
Range2
>::
value
>>
inline
::
testing
::
AssertionResult
RangesMatch
(
const
Range1
&
expected
,
const
Range2
&
actual
)
{
const
auto
expectedSize
=
std
::
distance
(
std
::
begin
(
expected
),
std
::
end
(
expected
));
const
auto
actualSize
=
std
::
distance
(
std
::
begin
(
actual
),
std
::
end
(
actual
));
if
(
actualSize
!=
expectedSize
)
{
return
::
testing
::
AssertionFailure
()
<<
"actual range size "
<<
actualSize
<<
" != expected size "
<<
expectedSize
;
}
const
auto
expectedSize
=
std
::
distance
(
std
::
begin
(
expected
),
std
::
end
(
expected
));
const
auto
actualSize
=
std
::
distance
(
std
::
begin
(
actual
),
std
::
end
(
actual
));
if
(
actualSize
!=
expectedSize
)
{
return
::
testing
::
AssertionFailure
()
<<
"actual range size "
<<
actualSize
<<
" != expected size "
<<
expectedSize
;
}
auto
itExp
=
std
::
begin
(
expected
);
for
(
const
auto
&
act
:
actual
)
{
if
(
*
itExp
!=
act
)
{
const
auto
index
=
std
::
distance
(
std
::
begin
(
expected
),
itExp
);
return
::
testing
::
AssertionFailure
()
<<
"range["
<<
index
<<
"] ("
<<
act
<<
") != expected["
<<
index
<<
"] ("
<<
*
itExp
<<
")"
;
}
++
itExp
;
auto
itExp
=
std
::
begin
(
expected
);
for
(
const
auto
&
act
:
actual
)
{
if
(
*
itExp
!=
act
)
{
const
auto
index
=
std
::
distance
(
std
::
begin
(
expected
),
itExp
);
return
::
testing
::
AssertionFailure
()
<<
"range["
<<
index
<<
"] ("
<<
act
<<
") != expected["
<<
index
<<
"] ("
<<
*
itExp
<<
")"
;
}
++
itExp
;
}
return
::
testing
::
AssertionSuccess
();
return
::
testing
::
AssertionSuccess
();
}
}
// namespace testing
}
// namespace anbox
src/anbox/ubuntu/keycode_converter.cpp
浏览文件 @
6307ee4b
...
...
@@ -29,130 +29,130 @@ std::uint16_t KeycodeConverter::convert(const SDL_Scancode &scan_code) {
}
const
std
::
array
<
SDL_Scancode
,
249
>
KeycodeConverter
::
code_map
=
{{
SDL_SCANCODE_UNKNOWN
,
/* KEY_RESERVED 0 */
SDL_SCANCODE_ESCAPE
,
/* KEY_ESC 1 */
SDL_SCANCODE_1
,
/* KEY_1 2 */
SDL_SCANCODE_2
,
/* KEY_2 3 */
SDL_SCANCODE_3
,
/* KEY_3 4 */
SDL_SCANCODE_4
,
/* KEY_4 5 */
SDL_SCANCODE_5
,
/* KEY_5 6 */
SDL_SCANCODE_6
,
/* KEY_6 7 */
SDL_SCANCODE_7
,
/* KEY_7 8 */
SDL_SCANCODE_8
,
/* KEY_8 9 */
SDL_SCANCODE_9
,
/* KEY_9 10 */
SDL_SCANCODE_0
,
/* KEY_0 11 */
SDL_SCANCODE_MINUS
,
/* KEY_MINUS 12 */
SDL_SCANCODE_EQUALS
,
/* KEY_EQUAL 13 */
SDL_SCANCODE_BACKSPACE
,
/* KEY_BACKSPACE 14 */
SDL_SCANCODE_TAB
,
/* KEY_TAB 15 */
SDL_SCANCODE_Q
,
/* KEY_Q 16 */
SDL_SCANCODE_W
,
/* KEY_W 17 */
SDL_SCANCODE_E
,
/* KEY_E 18 */
SDL_SCANCODE_R
,
/* KEY_R 19 */
SDL_SCANCODE_T
,
/* KEY_T 20 */
SDL_SCANCODE_Y
,
/* KEY_Y 21 */
SDL_SCANCODE_U
,
/* KEY_U 22 */
SDL_SCANCODE_I
,
/* KEY_I 23 */
SDL_SCANCODE_O
,
/* KEY_O 24 */
SDL_SCANCODE_P
,
/* KEY_P 25 */
SDL_SCANCODE_LEFTBRACKET
,
/* KEY_LEFTBRACE 26 */
SDL_SCANCODE_RIGHTBRACKET
,
/* KEY_RIGHTBRACE 27 */
SDL_SCANCODE_RETURN
,
/* KEY_ENTER 28 */
SDL_SCANCODE_LCTRL
,
/* KEY_LEFTCTRL 29 */
SDL_SCANCODE_A
,
/* KEY_A 30 */
SDL_SCANCODE_S
,
/* KEY_S 31 */
SDL_SCANCODE_D
,
/* KEY_D 32 */
SDL_SCANCODE_F
,
/* KEY_F 33 */
SDL_SCANCODE_G
,
/* KEY_G 34 */
SDL_SCANCODE_H
,
/* KEY_H 35 */
SDL_SCANCODE_J
,
/* KEY_J 36 */
SDL_SCANCODE_K
,
/* KEY_K 37 */
SDL_SCANCODE_L
,
/* KEY_L 38 */
SDL_SCANCODE_SEMICOLON
,
/* KEY_SEMICOLON 39 */
SDL_SCANCODE_APOSTROPHE
,
/* KEY_APOSTROPHE 40 */
SDL_SCANCODE_GRAVE
,
/* KEY_GRAVE 41 */
SDL_SCANCODE_LSHIFT
,
/* KEY_LEFTSHIFT 42 */
SDL_SCANCODE_BACKSLASH
,
/* KEY_BACKSLASH 43 */
SDL_SCANCODE_Z
,
/* KEY_Z 44 */
SDL_SCANCODE_X
,
/* KEY_X 45 */
SDL_SCANCODE_C
,
/* KEY_C 46 */
SDL_SCANCODE_V
,
/* KEY_V 47 */
SDL_SCANCODE_B
,
/* KEY_B 48 */
SDL_SCANCODE_N
,
/* KEY_N 49 */
SDL_SCANCODE_M
,
/* KEY_M 50 */
SDL_SCANCODE_COMMA
,
/* KEY_COMMA 51 */
SDL_SCANCODE_PERIOD
,
/* KEY_DOT 52 */
SDL_SCANCODE_SLASH
,
/* KEY_SLASH 53 */
SDL_SCANCODE_RSHIFT
,
/* KEY_RIGHTSHIFT 54 */
SDL_SCANCODE_KP_MULTIPLY
,
/* KEY_KPASTERISK 55 */
SDL_SCANCODE_LALT
,
/* KEY_LEFTALT 56 */
SDL_SCANCODE_SPACE
,
/* KEY_SPACE 57 */
SDL_SCANCODE_CAPSLOCK
,
/* KEY_CAPSLOCK 58 */
SDL_SCANCODE_F1
,
/* KEY_F1 59 */
SDL_SCANCODE_F2
,
/* KEY_F2 60 */
SDL_SCANCODE_F3
,
/* KEY_F3 61 */
SDL_SCANCODE_F4
,
/* KEY_F4 62 */
SDL_SCANCODE_F5
,
/* KEY_F5 63 */
SDL_SCANCODE_F6
,
/* KEY_F6 64 */
SDL_SCANCODE_F7
,
/* KEY_F7 65 */
SDL_SCANCODE_F8
,
/* KEY_F8 66 */
SDL_SCANCODE_F9
,
/* KEY_F9 67 */
SDL_SCANCODE_F10
,
/* KEY_F10 68 */
SDL_SCANCODE_NUMLOCKCLEAR
,
/* KEY_NUMLOCK 69 */
SDL_SCANCODE_SCROLLLOCK
,
/* KEY_SCROLLLOCK 70 */
SDL_SCANCODE_KP_7
,
/* KEY_KP7 71 */
SDL_SCANCODE_KP_8
,
/* KEY_KP8 72 */
SDL_SCANCODE_KP_9
,
/* KEY_KP9 73 */
SDL_SCANCODE_KP_MINUS
,
/* KEY_KPMINUS 74 */
SDL_SCANCODE_KP_4
,
/* KEY_KP4 75 */
SDL_SCANCODE_KP_5
,
/* KEY_KP5 76 */
SDL_SCANCODE_KP_6
,
/* KEY_KP6 77 */
SDL_SCANCODE_KP_PLUS
,
/* KEY_KPPLUS 78 */
SDL_SCANCODE_KP_1
,
/* KEY_KP1 79 */
SDL_SCANCODE_KP_2
,
/* KEY_KP2 80 */
SDL_SCANCODE_KP_3
,
/* KEY_KP3 81 */
SDL_SCANCODE_KP_0
,
/* KEY_KP0 82 */
SDL_SCANCODE_KP_PERIOD
,
/* KEY_KPDOT 83 */
SDL_SCANCODE_UNKNOWN
,
/* 84 */
SDL_SCANCODE_LANG5
,
/* KEY_ZENKAKUHANKAKU 85 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_102ND 86 */
SDL_SCANCODE_F11
,
/* KEY_F11 87 */
SDL_SCANCODE_F12
,
/* KEY_F12 88 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_RO 89 */
SDL_SCANCODE_LANG3
,
/* KEY_KATAKANA 90 */
SDL_SCANCODE_LANG4
,
/* KEY_HIRAGANA 91 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_HENKAN 92 */
SDL_SCANCODE_LANG3
,
/* KEY_KATAKANAHIRAGANA 93 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MUHENKAN 94 */
SDL_SCANCODE_KP_COMMA
,
/* KEY_KPJPCOMMA 95 */
SDL_SCANCODE_KP_ENTER
,
/* KEY_KPENTER 96 */
SDL_SCANCODE_RCTRL
,
/* KEY_RIGHTCTRL 97 */
SDL_SCANCODE_KP_DIVIDE
,
/* KEY_KPSLASH 98 */
SDL_SCANCODE_SYSREQ
,
/* KEY_SYSRQ 99 */
SDL_SCANCODE_RALT
,
/* KEY_RIGHTALT 100 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_LINEFEED 101 */
SDL_SCANCODE_HOME
,
/* KEY_HOME 102 */
SDL_SCANCODE_UP
,
/* KEY_UP 103 */
SDL_SCANCODE_PAGEUP
,
/* KEY_PAGEUP 104 */
SDL_SCANCODE_LEFT
,
/* KEY_LEFT 105 */
SDL_SCANCODE_RIGHT
,
/* KEY_RIGHT 106 */
SDL_SCANCODE_END
,
/* KEY_END 107 */
SDL_SCANCODE_DOWN
,
/* KEY_DOWN 108 */
SDL_SCANCODE_PAGEDOWN
,
/* KEY_PAGEDOWN 109 */
SDL_SCANCODE_INSERT
,
/* KEY_INSERT 110 */
SDL_SCANCODE_DELETE
,
/* KEY_DELETE 111 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MACRO 112 */
SDL_SCANCODE_MUTE
,
/* KEY_MUTE 113 */
SDL_SCANCODE_VOLUMEDOWN
,
/* KEY_VOLUMEDOWN 114 */
SDL_SCANCODE_VOLUMEUP
,
/* KEY_VOLUMEUP 115 */
SDL_SCANCODE_POWER
,
/* KEY_POWER 116 SC System Power Down */
SDL_SCANCODE_KP_EQUALS
,
/* KEY_KPEQUAL 117 */
SDL_SCANCODE_KP_MINUS
,
/* KEY_KPPLUSMINUS 118 */
SDL_SCANCODE_PAUSE
,
/* KEY_PAUSE 119 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SCALE 120 AL Compiz Scale (Expose) */
SDL_SCANCODE_KP_COMMA
,
/* KEY_KPCOMMA 121 */
SDL_SCANCODE_LANG1
,
/* KEY_HANGEUL,KEY_HANGUEL 122 */
SDL_SCANCODE_LANG2
,
/* KEY_HANJA 123 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_RESERVED 0 */
SDL_SCANCODE_ESCAPE
,
/* KEY_ESC 1 */
SDL_SCANCODE_1
,
/* KEY_1 2 */
SDL_SCANCODE_2
,
/* KEY_2 3 */
SDL_SCANCODE_3
,
/* KEY_3 4 */
SDL_SCANCODE_4
,
/* KEY_4 5 */
SDL_SCANCODE_5
,
/* KEY_5 6 */
SDL_SCANCODE_6
,
/* KEY_6 7 */
SDL_SCANCODE_7
,
/* KEY_7 8 */
SDL_SCANCODE_8
,
/* KEY_8 9 */
SDL_SCANCODE_9
,
/* KEY_9 10 */
SDL_SCANCODE_0
,
/* KEY_0 11 */
SDL_SCANCODE_MINUS
,
/* KEY_MINUS 12 */
SDL_SCANCODE_EQUALS
,
/* KEY_EQUAL 13 */
SDL_SCANCODE_BACKSPACE
,
/* KEY_BACKSPACE 14 */
SDL_SCANCODE_TAB
,
/* KEY_TAB 15 */
SDL_SCANCODE_Q
,
/* KEY_Q 16 */
SDL_SCANCODE_W
,
/* KEY_W 17 */
SDL_SCANCODE_E
,
/* KEY_E 18 */
SDL_SCANCODE_R
,
/* KEY_R 19 */
SDL_SCANCODE_T
,
/* KEY_T 20 */
SDL_SCANCODE_Y
,
/* KEY_Y 21 */
SDL_SCANCODE_U
,
/* KEY_U 22 */
SDL_SCANCODE_I
,
/* KEY_I 23 */
SDL_SCANCODE_O
,
/* KEY_O 24 */
SDL_SCANCODE_P
,
/* KEY_P 25 */
SDL_SCANCODE_LEFTBRACKET
,
/* KEY_LEFTBRACE 26 */
SDL_SCANCODE_RIGHTBRACKET
,
/* KEY_RIGHTBRACE 27 */
SDL_SCANCODE_RETURN
,
/* KEY_ENTER 28 */
SDL_SCANCODE_LCTRL
,
/* KEY_LEFTCTRL 29 */
SDL_SCANCODE_A
,
/* KEY_A 30 */
SDL_SCANCODE_S
,
/* KEY_S 31 */
SDL_SCANCODE_D
,
/* KEY_D 32 */
SDL_SCANCODE_F
,
/* KEY_F 33 */
SDL_SCANCODE_G
,
/* KEY_G 34 */
SDL_SCANCODE_H
,
/* KEY_H 35 */
SDL_SCANCODE_J
,
/* KEY_J 36 */
SDL_SCANCODE_K
,
/* KEY_K 37 */
SDL_SCANCODE_L
,
/* KEY_L 38 */
SDL_SCANCODE_SEMICOLON
,
/* KEY_SEMICOLON 39 */
SDL_SCANCODE_APOSTROPHE
,
/* KEY_APOSTROPHE 40 */
SDL_SCANCODE_GRAVE
,
/* KEY_GRAVE 41 */
SDL_SCANCODE_LSHIFT
,
/* KEY_LEFTSHIFT 42 */
SDL_SCANCODE_BACKSLASH
,
/* KEY_BACKSLASH 43 */
SDL_SCANCODE_Z
,
/* KEY_Z 44 */
SDL_SCANCODE_X
,
/* KEY_X 45 */
SDL_SCANCODE_C
,
/* KEY_C 46 */
SDL_SCANCODE_V
,
/* KEY_V 47 */
SDL_SCANCODE_B
,
/* KEY_B 48 */
SDL_SCANCODE_N
,
/* KEY_N 49 */
SDL_SCANCODE_M
,
/* KEY_M 50 */
SDL_SCANCODE_COMMA
,
/* KEY_COMMA 51 */
SDL_SCANCODE_PERIOD
,
/* KEY_DOT 52 */
SDL_SCANCODE_SLASH
,
/* KEY_SLASH 53 */
SDL_SCANCODE_RSHIFT
,
/* KEY_RIGHTSHIFT 54 */
SDL_SCANCODE_KP_MULTIPLY
,
/* KEY_KPASTERISK 55 */
SDL_SCANCODE_LALT
,
/* KEY_LEFTALT 56 */
SDL_SCANCODE_SPACE
,
/* KEY_SPACE 57 */
SDL_SCANCODE_CAPSLOCK
,
/* KEY_CAPSLOCK 58 */
SDL_SCANCODE_F1
,
/* KEY_F1 59 */
SDL_SCANCODE_F2
,
/* KEY_F2 60 */
SDL_SCANCODE_F3
,
/* KEY_F3 61 */
SDL_SCANCODE_F4
,
/* KEY_F4 62 */
SDL_SCANCODE_F5
,
/* KEY_F5 63 */
SDL_SCANCODE_F6
,
/* KEY_F6 64 */
SDL_SCANCODE_F7
,
/* KEY_F7 65 */
SDL_SCANCODE_F8
,
/* KEY_F8 66 */
SDL_SCANCODE_F9
,
/* KEY_F9 67 */
SDL_SCANCODE_F10
,
/* KEY_F10 68 */
SDL_SCANCODE_NUMLOCKCLEAR
,
/* KEY_NUMLOCK 69 */
SDL_SCANCODE_SCROLLLOCK
,
/* KEY_SCROLLLOCK 70 */
SDL_SCANCODE_KP_7
,
/* KEY_KP7 71 */
SDL_SCANCODE_KP_8
,
/* KEY_KP8 72 */
SDL_SCANCODE_KP_9
,
/* KEY_KP9 73 */
SDL_SCANCODE_KP_MINUS
,
/* KEY_KPMINUS 74 */
SDL_SCANCODE_KP_4
,
/* KEY_KP4 75 */
SDL_SCANCODE_KP_5
,
/* KEY_KP5 76 */
SDL_SCANCODE_KP_6
,
/* KEY_KP6 77 */
SDL_SCANCODE_KP_PLUS
,
/* KEY_KPPLUS 78 */
SDL_SCANCODE_KP_1
,
/* KEY_KP1 79 */
SDL_SCANCODE_KP_2
,
/* KEY_KP2 80 */
SDL_SCANCODE_KP_3
,
/* KEY_KP3 81 */
SDL_SCANCODE_KP_0
,
/* KEY_KP0 82 */
SDL_SCANCODE_KP_PERIOD
,
/* KEY_KPDOT 83 */
SDL_SCANCODE_UNKNOWN
,
/* 84 */
SDL_SCANCODE_LANG5
,
/* KEY_ZENKAKUHANKAKU 85 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_102ND 86 */
SDL_SCANCODE_F11
,
/* KEY_F11 87 */
SDL_SCANCODE_F12
,
/* KEY_F12 88 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_RO 89 */
SDL_SCANCODE_LANG3
,
/* KEY_KATAKANA 90 */
SDL_SCANCODE_LANG4
,
/* KEY_HIRAGANA 91 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_HENKAN 92 */
SDL_SCANCODE_LANG3
,
/* KEY_KATAKANAHIRAGANA 93 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MUHENKAN 94 */
SDL_SCANCODE_KP_COMMA
,
/* KEY_KPJPCOMMA 95 */
SDL_SCANCODE_KP_ENTER
,
/* KEY_KPENTER 96 */
SDL_SCANCODE_RCTRL
,
/* KEY_RIGHTCTRL 97 */
SDL_SCANCODE_KP_DIVIDE
,
/* KEY_KPSLASH 98 */
SDL_SCANCODE_SYSREQ
,
/* KEY_SYSRQ 99 */
SDL_SCANCODE_RALT
,
/* KEY_RIGHTALT 100 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_LINEFEED 101 */
SDL_SCANCODE_HOME
,
/* KEY_HOME 102 */
SDL_SCANCODE_UP
,
/* KEY_UP 103 */
SDL_SCANCODE_PAGEUP
,
/* KEY_PAGEUP 104 */
SDL_SCANCODE_LEFT
,
/* KEY_LEFT 105 */
SDL_SCANCODE_RIGHT
,
/* KEY_RIGHT 106 */
SDL_SCANCODE_END
,
/* KEY_END 107 */
SDL_SCANCODE_DOWN
,
/* KEY_DOWN 108 */
SDL_SCANCODE_PAGEDOWN
,
/* KEY_PAGEDOWN 109 */
SDL_SCANCODE_INSERT
,
/* KEY_INSERT 110 */
SDL_SCANCODE_DELETE
,
/* KEY_DELETE 111 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MACRO 112 */
SDL_SCANCODE_MUTE
,
/* KEY_MUTE 113 */
SDL_SCANCODE_VOLUMEDOWN
,
/* KEY_VOLUMEDOWN 114 */
SDL_SCANCODE_VOLUMEUP
,
/* KEY_VOLUMEUP 115 */
SDL_SCANCODE_POWER
,
/* KEY_POWER 116 SC System Power Down */
SDL_SCANCODE_KP_EQUALS
,
/* KEY_KPEQUAL 117 */
SDL_SCANCODE_KP_MINUS
,
/* KEY_KPPLUSMINUS 118 */
SDL_SCANCODE_PAUSE
,
/* KEY_PAUSE 119 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SCALE 120 AL Compiz Scale (Expose) */
SDL_SCANCODE_KP_COMMA
,
/* KEY_KPCOMMA 121 */
SDL_SCANCODE_LANG1
,
/* KEY_HANGEUL,KEY_HANGUEL 122 */
SDL_SCANCODE_LANG2
,
/* KEY_HANJA 123 */
SDL_SCANCODE_INTERNATIONAL3
,
/* KEY_YEN 124 */
SDL_SCANCODE_LGUI
,
/* KEY_LEFTMETA 125 */
SDL_SCANCODE_RGUI
,
/* KEY_RIGHTMETA 126 */
...
...
@@ -167,125 +167,125 @@ const std::array<SDL_Scancode, 249> KeycodeConverter::code_map = {{
SDL_SCANCODE_PASTE
,
/* KEY_PASTE 135 AC Paste */
SDL_SCANCODE_FIND
,
/* KEY_FIND 136 AC Search */
SDL_SCANCODE_CUT
,
/* KEY_CUT 137 AC Cut */
SDL_SCANCODE_HELP
,
/* KEY_HELP 138 AL Integrated Help Center */
SDL_SCANCODE_MENU
,
/* KEY_MENU 139 Menu (show menu) */
SDL_SCANCODE_CALCULATOR
,
/* KEY_CALC 140 AL Calculator */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SETUP 141 */
SDL_SCANCODE_SLEEP
,
/* KEY_SLEEP 142 SC System Sleep */
SDL_SCANCODE_UNKNOWN
,
/* KEY_WAKEUP 143 System Wake Up */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FILE 144 AL Local Machine Browser */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SENDFILE 145 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DELETEFILE 146 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_XFER 147 */
SDL_SCANCODE_APP1
,
/* KEY_PROG1 148 */
SDL_SCANCODE_APP1
,
/* KEY_PROG2 149 */
SDL_SCANCODE_WWW
,
/* KEY_WWW 150 AL Internet Browser */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MSDOS 151 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_COFFEE,KEY_SCREENLOCK 152 AL Terminal
SDL_SCANCODE_HELP
,
/* KEY_HELP 138 AL Integrated Help Center */
SDL_SCANCODE_MENU
,
/* KEY_MENU 139 Menu (show menu) */
SDL_SCANCODE_CALCULATOR
,
/* KEY_CALC 140 AL Calculator */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SETUP 141 */
SDL_SCANCODE_SLEEP
,
/* KEY_SLEEP 142 SC System Sleep */
SDL_SCANCODE_UNKNOWN
,
/* KEY_WAKEUP 143 System Wake Up */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FILE 144 AL Local Machine Browser */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SENDFILE 145 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DELETEFILE 146 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_XFER 147 */
SDL_SCANCODE_APP1
,
/* KEY_PROG1 148 */
SDL_SCANCODE_APP1
,
/* KEY_PROG2 149 */
SDL_SCANCODE_WWW
,
/* KEY_WWW 150 AL Internet Browser */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MSDOS 151 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_COFFEE,KEY_SCREENLOCK 152 AL Terminal
Lock/Screensaver */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DIRECTION 153 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CYCLEWINDOWS 154 */
SDL_SCANCODE_MAIL
,
/* KEY_MAIL 155 */
SDL_SCANCODE_AC_BOOKMARKS
,
/* KEY_BOOKMARKS 156 AC Bookmarks */
SDL_SCANCODE_COMPUTER
,
/* KEY_COMPUTER 157 */
SDL_SCANCODE_AC_BACK
,
/* KEY_BACK 158 AC Back */
SDL_SCANCODE_AC_FORWARD
,
/* KEY_FORWARD 159 AC Forward */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CLOSECD 160 */
SDL_SCANCODE_EJECT
,
/* KEY_EJECTCD 161 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EJECTCLOSECD 162 */
SDL_SCANCODE_AUDIONEXT
,
/* KEY_NEXTSONG 163 */
SDL_SCANCODE_AUDIOPLAY
,
/* KEY_PLAYPAUSE 164 */
SDL_SCANCODE_AUDIOPREV
,
/* KEY_PREVIOUSSONG 165 */
SDL_SCANCODE_AUDIOSTOP
,
/* KEY_STOPCD 166 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_RECORD 167 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_REWIND 168 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PHONE 169 Media Select Telephone */
SDL_SCANCODE_UNKNOWN
,
/* KEY_ISO 170 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CONFIG 171 AL Consumer Control
SDL_SCANCODE_UNKNOWN
,
/* KEY_DIRECTION 153 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CYCLEWINDOWS 154 */
SDL_SCANCODE_MAIL
,
/* KEY_MAIL 155 */
SDL_SCANCODE_AC_BOOKMARKS
,
/* KEY_BOOKMARKS 156 AC Bookmarks */
SDL_SCANCODE_COMPUTER
,
/* KEY_COMPUTER 157 */
SDL_SCANCODE_AC_BACK
,
/* KEY_BACK 158 AC Back */
SDL_SCANCODE_AC_FORWARD
,
/* KEY_FORWARD 159 AC Forward */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CLOSECD 160 */
SDL_SCANCODE_EJECT
,
/* KEY_EJECTCD 161 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EJECTCLOSECD 162 */
SDL_SCANCODE_AUDIONEXT
,
/* KEY_NEXTSONG 163 */
SDL_SCANCODE_AUDIOPLAY
,
/* KEY_PLAYPAUSE 164 */
SDL_SCANCODE_AUDIOPREV
,
/* KEY_PREVIOUSSONG 165 */
SDL_SCANCODE_AUDIOSTOP
,
/* KEY_STOPCD 166 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_RECORD 167 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_REWIND 168 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PHONE 169 Media Select Telephone */
SDL_SCANCODE_UNKNOWN
,
/* KEY_ISO 170 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CONFIG 171 AL Consumer Control
Configuration */
SDL_SCANCODE_AC_HOME
,
/* KEY_HOMEPAGE 172 AC Home */
SDL_SCANCODE_AC_REFRESH
,
/* KEY_REFRESH 173 AC Refresh */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EXIT 174 AC Exit */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MOVE 175 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EDIT 176 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SCROLLUP 177 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SCROLLDOWN 178 */
SDL_SCANCODE_KP_LEFTPAREN
,
/* KEY_KPLEFTPAREN 179 */
SDL_SCANCODE_KP_RIGHTPAREN
,
/* KEY_KPRIGHTPAREN 180 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_NEW 181 AC New */
SDL_SCANCODE_AGAIN
,
/* KEY_REDO 182 AC Redo/Repeat */
SDL_SCANCODE_F13
,
/* KEY_F13 183 */
SDL_SCANCODE_F14
,
/* KEY_F14 184 */
SDL_SCANCODE_F15
,
/* KEY_F15 185 */
SDL_SCANCODE_F16
,
/* KEY_F16 186 */
SDL_SCANCODE_F17
,
/* KEY_F17 187 */
SDL_SCANCODE_F18
,
/* KEY_F18 188 */
SDL_SCANCODE_F19
,
/* KEY_F19 189 */
SDL_SCANCODE_F20
,
/* KEY_F20 190 */
SDL_SCANCODE_F21
,
/* KEY_F21 191 */
SDL_SCANCODE_F22
,
/* KEY_F22 192 */
SDL_SCANCODE_F23
,
/* KEY_F23 193 */
SDL_SCANCODE_F24
,
/* KEY_F24 194 */
SDL_SCANCODE_UNKNOWN
,
/* 195 */
SDL_SCANCODE_UNKNOWN
,
/* 196 */
SDL_SCANCODE_UNKNOWN
,
/* 197 */
SDL_SCANCODE_UNKNOWN
,
/* 198 */
SDL_SCANCODE_UNKNOWN
,
/* 199 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PLAYCD 200 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PAUSECD 201 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PROG3 202 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PROG4 203 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DASHBOARD 204 AL Dashboard */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SUSPEND 205 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CLOSE 206 AC Close */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PLAY 207 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FASTFORWARD 208 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BASSBOOST 209 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PRINT 210 AC Print */
SDL_SCANCODE_UNKNOWN
,
/* KEY_HP 211 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CAMERA 212 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SOUND 213 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_QUESTION 214 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EMAIL 215 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CHAT 216 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SEARCH 217 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CONNECT 218 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FINANCE 219 AL Checkbook/Finance */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SPORT 220 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SHOP 221 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_ALTERASE 222 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CANCEL 223 AC Cancel */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESSDOWN 224 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESSUP 225 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MEDIA 226 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SWITCHVIDEOMODE 227 Cycle between available
SDL_SCANCODE_AC_HOME
,
/* KEY_HOMEPAGE 172 AC Home */
SDL_SCANCODE_AC_REFRESH
,
/* KEY_REFRESH 173 AC Refresh */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EXIT 174 AC Exit */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MOVE 175 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EDIT 176 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SCROLLUP 177 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SCROLLDOWN 178 */
SDL_SCANCODE_KP_LEFTPAREN
,
/* KEY_KPLEFTPAREN 179 */
SDL_SCANCODE_KP_RIGHTPAREN
,
/* KEY_KPRIGHTPAREN 180 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_NEW 181 AC New */
SDL_SCANCODE_AGAIN
,
/* KEY_REDO 182 AC Redo/Repeat */
SDL_SCANCODE_F13
,
/* KEY_F13 183 */
SDL_SCANCODE_F14
,
/* KEY_F14 184 */
SDL_SCANCODE_F15
,
/* KEY_F15 185 */
SDL_SCANCODE_F16
,
/* KEY_F16 186 */
SDL_SCANCODE_F17
,
/* KEY_F17 187 */
SDL_SCANCODE_F18
,
/* KEY_F18 188 */
SDL_SCANCODE_F19
,
/* KEY_F19 189 */
SDL_SCANCODE_F20
,
/* KEY_F20 190 */
SDL_SCANCODE_F21
,
/* KEY_F21 191 */
SDL_SCANCODE_F22
,
/* KEY_F22 192 */
SDL_SCANCODE_F23
,
/* KEY_F23 193 */
SDL_SCANCODE_F24
,
/* KEY_F24 194 */
SDL_SCANCODE_UNKNOWN
,
/* 195 */
SDL_SCANCODE_UNKNOWN
,
/* 196 */
SDL_SCANCODE_UNKNOWN
,
/* 197 */
SDL_SCANCODE_UNKNOWN
,
/* 198 */
SDL_SCANCODE_UNKNOWN
,
/* 199 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PLAYCD 200 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PAUSECD 201 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PROG3 202 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PROG4 203 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DASHBOARD 204 AL Dashboard */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SUSPEND 205 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CLOSE 206 AC Close */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PLAY 207 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FASTFORWARD 208 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BASSBOOST 209 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_PRINT 210 AC Print */
SDL_SCANCODE_UNKNOWN
,
/* KEY_HP 211 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CAMERA 212 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SOUND 213 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_QUESTION 214 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_EMAIL 215 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CHAT 216 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SEARCH 217 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CONNECT 218 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FINANCE 219 AL Checkbook/Finance */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SPORT 220 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SHOP 221 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_ALTERASE 222 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_CANCEL 223 AC Cancel */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESSDOWN 224 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESSUP 225 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_MEDIA 226 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SWITCHVIDEOMODE 227 Cycle between available
video outputs (Monitor/LCD/TV-out/etc) */
SDL_SCANCODE_UNKNOWN
,
/* KEY_KBDILLUMTOGGLE 228 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_KBDILLUMDOWN 229 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_KBDILLUMUP 230 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SEND 231 AC Send */
SDL_SCANCODE_UNKNOWN
,
/* KEY_REPLY 232 AC Reply */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FORWARDMAIL 233 AC Forward Msg */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SAVE 234 AC Save */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DOCUMENTS 235 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BATTERY 236 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BLUETOOTH 237 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_WLAN 238 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_UWB 239 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_UNKNOWN 240 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_VIDEO_NEXT 241 drive next video source */
SDL_SCANCODE_UNKNOWN
,
/* KEY_VIDEO_PREV 242 drive previous video
SDL_SCANCODE_UNKNOWN
,
/* KEY_KBDILLUMTOGGLE 228 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_KBDILLUMDOWN 229 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_KBDILLUMUP 230 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SEND 231 AC Send */
SDL_SCANCODE_UNKNOWN
,
/* KEY_REPLY 232 AC Reply */
SDL_SCANCODE_UNKNOWN
,
/* KEY_FORWARDMAIL 233 AC Forward Msg */
SDL_SCANCODE_UNKNOWN
,
/* KEY_SAVE 234 AC Save */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DOCUMENTS 235 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BATTERY 236 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BLUETOOTH 237 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_WLAN 238 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_UWB 239 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_UNKNOWN 240 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_VIDEO_NEXT 241 drive next video source */
SDL_SCANCODE_UNKNOWN
,
/* KEY_VIDEO_PREV 242 drive previous video
source */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESS_CYCLE 243 brightness up, after
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESS_CYCLE 243 brightness up, after
max is min */
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESS_ZERO 244 brightness off, use
SDL_SCANCODE_UNKNOWN
,
/* KEY_BRIGHTNESS_ZERO 244 brightness off, use
ambient */
SDL_SCANCODE_UNKNOWN
,
/* KEY_DISPLAY_OFF 245 display device to off
SDL_SCANCODE_UNKNOWN
,
/* KEY_DISPLAY_OFF 245 display device to off
state */
SDL_SCANCODE_UNKNOWN
,
/* KEY_WIMAX 246 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_RFKILL 247 Key that controls all radios
SDL_SCANCODE_UNKNOWN
,
/* KEY_WIMAX 246 */
SDL_SCANCODE_UNKNOWN
,
/* KEY_RFKILL 247 Key that controls all radios
*/
SDL_SCANCODE_UNKNOWN
/* KEY_MICMUTE 248 Mute / unmute the microphone */
SDL_SCANCODE_UNKNOWN
/* KEY_MICMUTE 248 Mute / unmute the microphone */
}};
}
// namespace ubuntu
}
// namespace anbox
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录