// Copyright (c) 2012-2020 Wojciech Figat. All rights reserved.
#if PLATFORM_LINUX
#include "LinuxInput.h"
#include "Engine/Input/Input.h"
#include "Engine/Input/Mouse.h"
#include "Engine/Input/Keyboard.h"
///
/// Implementation of the keyboard device for Linux platform.
///
///
class LinuxKeyboard : public Keyboard
{
public:
///
/// Initializes a new instance of the class.
///
explicit LinuxKeyboard()
: Keyboard()
{
}
};
///
/// Implementation of the mouse device for Linux platform.
///
///
class LinuxMouse : public Mouse
{
public:
///
/// Initializes a new instance of the class.
///
explicit LinuxMouse()
: Mouse()
{
}
public:
// [Mouse]
void SetMousePosition(const Vector2& newPosition) final override
{
LinuxPlatform::SetMousePosition(newPosition);
OnMouseMoved(newPosition);
}
};
namespace Impl
{
LinuxKeyboard Keyboard;
LinuxMouse Mouse;
}
void LinuxInput::Init()
{
Input::Mouse = &Impl::Mouse;
Input::Keyboard = &Impl::Keyboard;
}
#endif