.. _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; auto mouse() -> Mouse; void mouse(Mouse const& val); auto touchpad() -> Touchpad; void touchpad(Touchpad 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); 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; 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); private: friend class InputConfiguration::Self; class Self; std::shared_ptr self; }; } #endif //MIRAL_INPUT_CONFIGURATION_H