.. _program_listing_file_include_miral_miral_input_configuration.h: Program Listing for File input_configuration.h ============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/miral/miral/input_configuration.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Copyright © Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 or 3 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef MIRAL_INPUT_CONFIGURATION_H #define MIRAL_INPUT_CONFIGURATION_H #include #include #include namespace mir { class Server; } namespace miral { class InputConfiguration { public: InputConfiguration(); ~InputConfiguration(); void operator()(mir::Server& server); class Mouse; class Touchpad; class Keyboard; auto mouse() -> Mouse; void mouse(Mouse const& val); auto touchpad() -> Touchpad; void touchpad(Touchpad const& val); auto keyboard() -> Keyboard; void keyboard(Keyboard const& val); private: class Self; std::shared_ptr self; }; class InputConfiguration::Mouse { public: Mouse(); ~Mouse(); Mouse(Mouse const& that); auto operator=(Mouse that) -> Mouse&; auto handedness() const -> std::optional; auto acceleration() const -> std::optional; auto acceleration_bias() const -> std::optional; auto vscroll_speed() const -> std::optional; auto hscroll_speed() const -> std::optional; void handedness(std::optionalconst& val); void acceleration(std::optionalconst& val); void acceleration_bias(std::optionalconst& val); void vscroll_speed(std::optionalconst& val); void hscroll_speed(std::optionalconst& val); void merge(InputConfiguration::Mouse const& other); private: friend class InputConfiguration::Self; class Self; std::unique_ptr self; }; class InputConfiguration::Touchpad { public: Touchpad(); ~Touchpad(); Touchpad(Touchpad const& that); auto operator=(Touchpad that) -> Touchpad&; auto disable_while_typing() const -> std::optional; auto disable_with_external_mouse() const -> std::optional; auto acceleration() const -> std::optional; auto acceleration_bias() const -> std::optional; auto vscroll_speed() const -> std::optional; auto hscroll_speed() const -> std::optional; auto click_mode() const -> std::optional; auto scroll_mode() const -> std::optional; auto tap_to_click() const -> std::optional; auto middle_mouse_button_emulation() const -> std::optional; void disable_while_typing(std::optionalconst& val); void disable_with_external_mouse(std::optionalconst& val); void acceleration(std::optionalconst& val); void acceleration_bias(std::optionalconst& val); void vscroll_speed(std::optionalconst& val); void hscroll_speed(std::optionalconst& val); void click_mode(std::optionalconst& val); void scroll_mode(std::optionalconst& val); void tap_to_click(std::optionalconst& val); void middle_mouse_button_emulation(std::optionalconst& val); void merge(InputConfiguration::Touchpad const& other); private: friend class InputConfiguration::Self; class Self; std::shared_ptr self; }; class InputConfiguration::Keyboard { public: Keyboard(); ~Keyboard(); Keyboard(Keyboard const& that); auto operator=(Keyboard that) -> Keyboard&; void set_repeat_rate(int new_rate); void set_repeat_delay(int new_delay); auto repeat_rate() const -> std::optional; auto repeat_delay() const-> std::optional; void merge(InputConfiguration::Keyboard const& other); private: friend class InputConfiguration::Self; class Self; std::shared_ptr self; }; } #endif //MIRAL_INPUT_CONFIGURATION_H