mirror of
https://github.com/keymanapp/keyman.git
synced 2026-10-16 10:57:35 +00:00
- uint16_t - defined km_kbp_event_flags to define the bitfield - bitfield has value KM_KBP_EVENT_FLAG_TOUCH for touch events - ignored everywhere, currently
79 lines
1.7 KiB
C++
79 lines
1.7 KiB
C++
/*
|
|
Copyright: © 2018 SIL International.
|
|
Description: Internal keyboard class and adaptor class for the API.
|
|
Create Date: 2 Oct 2018
|
|
Authors: Tim Eves (TSE)
|
|
History: 2 Oct 2018 - TSE - Refactored out of km_kbp_keyboard_api.cpp
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
#include <keyman/keyboardprocessor.h>
|
|
#include "kmx/kmx_processevent.h"
|
|
#include "keyboard.hpp"
|
|
#include "processor.hpp"
|
|
|
|
namespace km {
|
|
namespace kbp
|
|
{
|
|
class kmx_processor : public abstract_processor
|
|
{
|
|
private:
|
|
bool _valid;
|
|
kmx::KMX_ProcessEvent _kmx;
|
|
|
|
km_kbp_status
|
|
internal_process_queued_actions(
|
|
km_kbp_state *state
|
|
);
|
|
|
|
public:
|
|
kmx_processor(path);
|
|
|
|
km_kbp_status
|
|
process_event(
|
|
km_kbp_state *state,
|
|
km_kbp_virtual_key vk,
|
|
uint16_t modifier_state,
|
|
uint8_t is_key_down,
|
|
uint16_t event_flags
|
|
) override;
|
|
|
|
km_kbp_attr const & attributes() const override;
|
|
km_kbp_status validate() const override;
|
|
|
|
char16_t const *
|
|
lookup_option(
|
|
km_kbp_option_scope,
|
|
std::u16string const & key
|
|
) const override;
|
|
|
|
option
|
|
update_option(
|
|
km_kbp_option_scope scope,
|
|
std::u16string const & key,
|
|
std::u16string const & value
|
|
) override;
|
|
|
|
km_kbp_status
|
|
process_queued_actions(
|
|
km_kbp_state *state
|
|
) override;
|
|
|
|
bool
|
|
queue_action(
|
|
km_kbp_state * state,
|
|
km_kbp_action_item const* action_item
|
|
) override;
|
|
|
|
km_kbp_context_item * get_intermediate_context() override;
|
|
|
|
km_kbp_keyboard_key * get_key_list() const override;
|
|
|
|
km_kbp_keyboard_imx * get_imx_list() const override;
|
|
|
|
};
|
|
|
|
} // namespace kbp
|
|
} // namespace km
|