diff --git a/CMakeLists.txt b/CMakeLists.txt index d41f67c61..271415520 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,172 +1,172 @@ cmake_minimum_required(VERSION 3.0) project(plasma-desktop) set(PROJECT_VERSION "5.12.90") set(PROJECT_VERSION_MAJOR 5) set(QT_MIN_VERSION "5.10.0") set(KF5_MIN_VERSION "5.45.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) include(ECMInstallIcons) include(ECMMarkAsTest) include(ECMMarkNonGuiExecutable) include(ECMOptionalAddSubdirectory) include(ECMQtDeclareLoggingCategory) include(FeatureSummary) include(CheckIncludeFiles) find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Quick QuickWidgets DBus Widgets X11Extras Svg Concurrent ) find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Auth Plasma PlasmaQuick DocTools I18n KCMUtils NewStuff KDELibs4Support Notifications NotifyConfig Attica Wallet Runner GlobalAccel Declarative People DBusAddons Activities ActivitiesStats Config ) find_package(LibKWorkspace CONFIG REQUIRED) find_package(LibTaskManager CONFIG REQUIRED) find_package(LibColorCorrect CONFIG REQUIRED) find_package(KWinDBusInterface CONFIG REQUIRED) find_package(ScreenSaverDBusInterface CONFIG REQUIRED) find_package(KRunnerAppDBusInterface CONFIG REQUIRED) find_package(KSMServerDBusInterface CONFIG REQUIRED) find_package(KF5ItemModels CONFIG REQUIRED) find_package(KF5Emoticons CONFIG REQUIRED) find_package(AppStreamQt 0.10.4) set_package_properties(AppStreamQt PROPERTIES DESCRIPTION "Appstream integration" TYPE RECOMMENDED PURPOSE "Needed to allow appstream integration from application menus" ) find_package(KF5Baloo 5.15) set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "File Searching" TYPE RECOMMENDED PURPOSE "Needed to build the File Search KCM" ) find_package(Fontconfig) set_package_properties(Fontconfig PROPERTIES DESCRIPTION "Font access configuration library" URL "http://www.freedesktop.org/wiki/Software/fontconfig" TYPE OPTIONAL PURPOSE "Needed to build font configuration and installation tools" ) find_package(X11) set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries" URL "http://www.x.org" TYPE REQUIRED PURPOSE "Required for building the X11 based workspace" ) find_package(UDev) set_package_properties(UDev PROPERTIES DESCRIPTION "UDev library" URL "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" TYPE OPTIONAL PURPOSE "Required for device discovery in keyboard daemon" ) find_package(XCB REQUIRED COMPONENTS XCB SHM IMAGE OPTIONAL_COMPONENTS XKB XINPUT ) set_package_properties(XCB PROPERTIES TYPE REQUIRED) add_feature_info("XCB-XKB" XCB_XKB_FOUND "Required for building kcm/keyboard") add_feature_info("libxft" X11_Xft_FOUND "X FreeType interface library required for font installation") find_package(Evdev) set_package_properties(Evdev PROPERTIES TYPE OPTIONAL) -add_feature_info("Evdev" EVDEV_FOUND "Evdev driver headers needed for input KCM") +add_feature_info("Evdev" EVDEV_FOUND "Evdev driver headers needed for mouse KCM") find_package(Synaptics) set_package_properties(Synaptics PROPERTIES TYPE OPTIONAL) add_feature_info("Synaptics" SYNAPTICS_FOUND "Synaptics libraries needed for touchpad KCM") find_package(XorgLibinput) set_package_properties(XorgLibinput PROPERTIES TYPE OPTIONAL) -add_feature_info("XorgLibinput" XORGLIBINPUT_FOUND "Libinput driver headers needed for input KCM") +add_feature_info("XorgLibinput" XORGLIBINPUT_FOUND "Libinput driver headers needed for mouse KCM") include(ConfigureChecks.cmake) find_package(Breeze ${PROJECT_VERSION} CONFIG) set_package_properties(Breeze PROPERTIES TYPE OPTIONAL PURPOSE "For setting the default window decoration plugin") if(${Breeze_FOUND}) if(${BREEZE_WITH_KDECORATION}) set(HAVE_BREEZE_DECO true) else() set(HAVE_BREEZE_DECO FALSE) endif() else() set(HAVE_BREEZE_DECO FALSE) endif() if(${AppStreamQt_FOUND}) set(HAVE_APPSTREAMQT true) endif() include_directories("${CMAKE_CURRENT_BINARY_DIR}") configure_file(config-workspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-workspace.h) configure_file(config-unix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-unix.h ) configure_file(config-appstream.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-appstream.h ) configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h) configure_file(config-runtime.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-runtime.h) plasma_install_package(desktoppackage org.kde.plasma.desktop shells shell) add_definitions(-DQT_NO_URL_CAST_FROM_STRING) add_subdirectory(layout-templates) add_subdirectory(doc) add_subdirectory(runners) add_subdirectory(containments) add_subdirectory(toolboxes) add_subdirectory(applets) add_subdirectory(dataengines) add_subdirectory(kcms) add_subdirectory(knetattach) add_subdirectory(attica-kde) add_subdirectory(imports/activitymanager/) add_subdirectory(solid-device-automounter) if(X11_Xkb_FOUND AND XCB_XKB_FOUND) add_subdirectory(kaccess) endif() install(FILES org.kde.plasmashell.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) install(FILES plasma-desktop.categories DESTINATION ${KDE_INSTALL_CONFDIR}) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/kcms/CMakeLists.txt b/kcms/CMakeLists.txt index 116164bcb..55ea90955 100644 --- a/kcms/CMakeLists.txt +++ b/kcms/CMakeLists.txt @@ -1,72 +1,72 @@ remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_KEYWORDS) find_package(Freetype) set_package_properties(Freetype PROPERTIES DESCRIPTION "A font rendering engine" URL "http://www.freetype.org" TYPE OPTIONAL PURPOSE "Needed to build kfontinst, a simple font installer." ) set(libkxftconfig_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/fonts/kxftconfig.cpp ) if(X11_Xkb_FOUND AND XCB_XKB_FOUND) add_subdirectory( keyboard ) endif() if (EVDEV_FOUND AND XORGLIBINPUT_FOUND AND X11_Xinput_FOUND) - add_subdirectory( input ) + add_subdirectory( mouse ) endif() add_subdirectory( access ) add_subdirectory( dateandtime ) add_subdirectory( autostart ) add_subdirectory( ksplash ) add_subdirectory( launch ) add_subdirectory( colors ) add_subdirectory( krdb ) add_subdirectory( style ) add_subdirectory( desktoptheme ) add_subdirectory( standard_actions ) add_subdirectory( keys ) add_subdirectory( ksmserver ) add_subdirectory( lookandfeel ) add_subdirectory( nightcolor ) add_subdirectory( hardware ) add_subdirectory( desktoppaths ) add_subdirectory(activities) add_subdirectory(componentchooser) add_subdirectory(emoticons) add_subdirectory(icons) add_subdirectory(kded) add_subdirectory(knotify) add_subdirectory(formats) add_subdirectory(translations) add_subdirectory(spellchecking) add_subdirectory(phonon) add_subdirectory(runners) add_subdirectory(qtquicksettings) add_subdirectory(workspaceoptions) if (KF5Baloo_FOUND) add_subdirectory(baloo) endif() add_subdirectory(solid_actions) add_subdirectory(cursortheme) if (SYNAPTICS_FOUND AND X11_Xinput_FOUND) add_subdirectory(touchpad) endif() if(FONTCONFIG_FOUND AND FREETYPE_FOUND) add_subdirectory( kfontinst ) endif() if( FREETYPE_FOUND ) if(FONTCONFIG_FOUND ) add_subdirectory( fonts ) endif() endif() diff --git a/kcms/input/CMakeLists.txt b/kcms/mouse/CMakeLists.txt similarity index 88% rename from kcms/input/CMakeLists.txt rename to kcms/mouse/CMakeLists.txt index bf783c018..2ede39a80 100644 --- a/kcms/input/CMakeLists.txt +++ b/kcms/mouse/CMakeLists.txt @@ -1,89 +1,89 @@ if(NOT X11_Xinput_FOUND) message(FATAL_ERROR "Xinput not found") endif() # KI18N Translation Domain for this library -add_definitions(-DTRANSLATION_DOMAIN=\"kcminput\") +add_definitions(-DTRANSLATION_DOMAIN=\"kcmmouse\") add_subdirectory( misc ) ## Add common files here. set(common_SRCS inputbackend.cpp ) include(ECMQtDeclareLoggingCategory) ecm_qt_declare_logging_category(common_SRCS HEADER logging.h IDENTIFIER - KCM_INPUT + KCM_MOUSE CATEGORY_NAME - kcm_input + kcm_mouse DEFAULT_SEVERITY Critical ) set(klauncher_xml ${KINIT_DBUS_INTERFACES_DIR}/kf5_org.kde.KLauncher.xml) qt5_add_dbus_interface(common_SRCS ${klauncher_xml} klauncher_iface) include(backends/x11.cmake) include(backends/kwin_wl.cmake) ########### next target ############### add_executable(kapplymousetheme kapplymousetheme.cpp ${common_SRCS} ${backend_SRCS} ) target_link_libraries(kapplymousetheme ${backend_LIBS} Qt5::Gui Qt5::DBus KF5::CoreAddons KF5::ConfigCore KF5::I18n ) install(TARGETS kapplymousetheme ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) ########### next target ############### set(common_SRCS ${common_SRCS} plugin.cpp kcm/configcontainer.cpp kcm/configplugin.cpp kcm/libinput/libinput_config.cpp kcm/xlib/xlib_config.cpp ) ki18n_wrap_ui(common_SRCS kcm/xlib/kcmmouse.ui) qt5_add_resources( common_SRCS kcm/resources.qrc ) -add_library(kcm_input MODULE +add_library(kcm_mouse MODULE ${common_SRCS} ${backend_SRCS} ) -target_link_libraries(kcm_input +target_link_libraries(kcm_mouse ${backend_LIBS} KF5::KCMUtils KF5::I18n KF5::KIOCore KF5::KIOWidgets KF5::KDELibs4Support KF5::Declarative Qt5::DBus Qt5::QuickWidgets ) -install(TARGETS kcm_input DESTINATION ${KDE_INSTALL_PLUGINDIR} ) +install(TARGETS kcm_mouse DESTINATION ${KDE_INSTALL_PLUGINDIR} ) ########### install files ############### install( FILES mouse.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} ) diff --git a/kcms/input/Messages.sh b/kcms/mouse/Messages.sh similarity index 68% rename from kcms/input/Messages.sh rename to kcms/mouse/Messages.sh index 890d7cff6..4e41844a5 100644 --- a/kcms/input/Messages.sh +++ b/kcms/mouse/Messages.sh @@ -1,4 +1,4 @@ #! /usr/bin/env bash $EXTRACTRC `find -name \*.ui` >> rc.cpp || exit 11 -$XGETTEXT *.cpp -o $podir/kcminput.pot +$XGETTEXT *.cpp -o $podir/kcmmouse.pot rm -f rc.cpp diff --git a/kcms/input/backends/kwin_wl.cmake b/kcms/mouse/backends/kwin_wl.cmake similarity index 100% rename from kcms/input/backends/kwin_wl.cmake rename to kcms/mouse/backends/kwin_wl.cmake diff --git a/kcms/input/backends/kwin_wl/kwin_wl_backend.cpp b/kcms/mouse/backends/kwin_wl/kwin_wl_backend.cpp similarity index 94% rename from kcms/input/backends/kwin_wl/kwin_wl_backend.cpp rename to kcms/mouse/backends/kwin_wl/kwin_wl_backend.cpp index f47622800..a2c80b3c2 100644 --- a/kcms/input/backends/kwin_wl/kwin_wl_backend.cpp +++ b/kcms/mouse/backends/kwin_wl/kwin_wl_backend.cpp @@ -1,175 +1,175 @@ /* * Copyright 2018 Roman Gilg * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "kwin_wl_backend.h" #include "kwin_wl_device.h" #include #include #include #include #include #include #include "logging.h" KWinWaylandBackend::KWinWaylandBackend(QObject *parent) : InputBackend(parent) { m_mode = InputBackendMode::KWinWayland; m_deviceManager = new QDBusInterface (QStringLiteral("org.kde.KWin"), QStringLiteral("/org/kde/KWin/InputDevice"), QStringLiteral("org.kde.KWin.InputDeviceManager"), QDBusConnection::sessionBus(), this); findDevices(); m_deviceManager->connection().connect(QStringLiteral("org.kde.KWin"), QStringLiteral("/org/kde/KWin/InputDevice"), QStringLiteral("org.kde.KWin.InputDeviceManager"), QStringLiteral("deviceAdded"), this, SLOT(onDeviceAdded(QString))); m_deviceManager->connection().connect(QStringLiteral("org.kde.KWin"), QStringLiteral("/org/kde/KWin/InputDevice"), QStringLiteral("org.kde.KWin.InputDeviceManager"), QStringLiteral("deviceRemoved"), this, SLOT(onDeviceRemoved(QString))); } KWinWaylandBackend::~KWinWaylandBackend() { qDeleteAll(m_devices); delete m_deviceManager; } void KWinWaylandBackend::findDevices() { QStringList devicesSysNames; const QVariant reply = m_deviceManager->property("devicesSysNames"); if (reply.isValid()) { - qCDebug(KCM_INPUT) << "Devices list received successfully from KWin."; + qCDebug(KCM_MOUSE) << "Devices list received successfully from KWin."; devicesSysNames = reply.toStringList(); } else { - qCCritical(KCM_INPUT) << "Error on receiving device list from KWin."; + qCCritical(KCM_MOUSE) << "Error on receiving device list from KWin."; m_errorString = i18n("Querying input devices failed. Please reopen this settings module."); return; } for (QString sn : devicesSysNames) { QDBusInterface deviceIface(QStringLiteral("org.kde.KWin"), QStringLiteral("/org/kde/KWin/InputDevice/") + sn, QStringLiteral("org.kde.KWin.InputDevice"), QDBusConnection::sessionBus(), this); QVariant reply = deviceIface.property("pointer"); if (reply.isValid() && reply.toBool()) { reply = deviceIface.property("touchpad"); if (reply.isValid() && reply.toBool()) { continue; } KWinWaylandDevice* dev = new KWinWaylandDevice(sn); if (!dev->init()) { - qCCritical(KCM_INPUT) << "Error on creating device object" << sn; + qCCritical(KCM_MOUSE) << "Error on creating device object" << sn; m_errorString = i18n("Critical error on reading fundamental device infos of %1.", sn); return; } m_devices.append(dev); - qCDebug(KCM_INPUT).nospace() << "Device found: " << dev->name() << " (" << dev->sysName() << ")"; + qCDebug(KCM_MOUSE).nospace() << "Device found: " << dev->name() << " (" << dev->sysName() << ")"; } } } bool KWinWaylandBackend::applyConfig() { return std::all_of(m_devices.constBegin(), m_devices.constEnd(), [] (QObject *t) { return static_cast(t)->applyConfig(); }); } bool KWinWaylandBackend::getConfig() { return std::all_of(m_devices.constBegin(), m_devices.constEnd(), [] (QObject *t) { return static_cast(t)->getConfig(); }); } bool KWinWaylandBackend::getDefaultConfig() { return std::all_of(m_devices.constBegin(), m_devices.constEnd(), [] (QObject *t) { return static_cast(t)->getDefaultConfig(); }); } bool KWinWaylandBackend::isChangedConfig() const { return std::any_of(m_devices.constBegin(), m_devices.constEnd(), [] (QObject *t) { return static_cast(t)->isChangedConfig(); }); } void KWinWaylandBackend::onDeviceAdded(QString sysName) { if (std::any_of(m_devices.constBegin(), m_devices.constEnd(), [sysName] (QObject *t) { return static_cast(t)->sysName() == sysName; })) { return; } QDBusInterface deviceIface(QStringLiteral("org.kde.KWin"), QStringLiteral("/org/kde/KWin/InputDevice/") + sysName, QStringLiteral("org.kde.KWin.InputDevice"), QDBusConnection::sessionBus(), this); QVariant reply = deviceIface.property("pointer"); if (reply.isValid() && reply.toBool()) { reply = deviceIface.property("touchpad"); if (reply.isValid() && reply.toBool()) { return; } KWinWaylandDevice* dev = new KWinWaylandDevice(sysName); if (!dev->init() || !dev->getConfig()) { emit deviceAdded(false); return; } m_devices.append(dev); - qCDebug(KCM_INPUT).nospace() << "Device connected: " << dev->name() << " (" << dev->sysName() << ")"; + qCDebug(KCM_MOUSE).nospace() << "Device connected: " << dev->name() << " (" << dev->sysName() << ")"; emit deviceAdded(true); } } void KWinWaylandBackend::onDeviceRemoved(QString sysName) { QVector::const_iterator it = std::find_if(m_devices.constBegin(), m_devices.constEnd(), [sysName] (QObject *t) { return static_cast(t)->sysName() == sysName; }); if (it == m_devices.cend()) { return; } KWinWaylandDevice *dev = static_cast(*it); - qCDebug(KCM_INPUT).nospace() << "Device disconnected: " << dev->name() << " (" << dev->sysName() << ")"; + qCDebug(KCM_MOUSE).nospace() << "Device disconnected: " << dev->name() << " (" << dev->sysName() << ")"; int index = it - m_devices.cbegin(); m_devices.removeAt(index); emit deviceRemoved(index); } diff --git a/kcms/input/backends/kwin_wl/kwin_wl_backend.h b/kcms/mouse/backends/kwin_wl/kwin_wl_backend.h similarity index 100% rename from kcms/input/backends/kwin_wl/kwin_wl_backend.h rename to kcms/mouse/backends/kwin_wl/kwin_wl_backend.h diff --git a/kcms/input/backends/kwin_wl/kwin_wl_device.cpp b/kcms/mouse/backends/kwin_wl/kwin_wl_device.cpp similarity index 96% rename from kcms/input/backends/kwin_wl/kwin_wl_device.cpp rename to kcms/mouse/backends/kwin_wl/kwin_wl_device.cpp index 6bbfac82e..39b37ee65 100644 --- a/kcms/input/backends/kwin_wl/kwin_wl_device.cpp +++ b/kcms/mouse/backends/kwin_wl/kwin_wl_device.cpp @@ -1,192 +1,192 @@ /* * Copyright 2018 Roman Gilg * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "kwin_wl_device.h" #include #include #include #include "logging.h" namespace { template T valueLoaderPart(QVariant const &reply) { Q_UNUSED(reply); return T(); } template<> bool valueLoaderPart(QVariant const &reply) { return reply.toBool(); } template<> int valueLoaderPart(QVariant const &reply) { return reply.toInt(); } template<> quint32 valueLoaderPart(QVariant const &reply) { return reply.toInt(); } template<> qreal valueLoaderPart(QVariant const &reply) { return reply.toReal(); } template<> QString valueLoaderPart(QVariant const &reply) { return reply.toString(); } template<> Qt::MouseButtons valueLoaderPart(QVariant const &reply) { return static_cast(reply.toInt()); } } KWinWaylandDevice::KWinWaylandDevice(QString dbusName) { m_iface = new QDBusInterface(QStringLiteral("org.kde.KWin"), QStringLiteral("/org/kde/KWin/InputDevice/") + dbusName, QStringLiteral("org.kde.KWin.InputDevice"), QDBusConnection::sessionBus(), this); } KWinWaylandDevice::~KWinWaylandDevice() { delete m_iface; } bool KWinWaylandDevice::init() { // need to do it here in order to populate combobox and handle events return valueLoader(m_name) && valueLoader(m_sysName); } bool KWinWaylandDevice::getConfig() { bool success = true; // general success &= valueLoader(m_supportsDisableEvents); success &= valueLoader(m_enabled); // advanced success &= valueLoader(m_supportedButtons); success &= valueLoader(m_supportsLeftHanded); success &= valueLoader(m_leftHandedEnabledByDefault); success &= valueLoader(m_leftHanded); success &= valueLoader(m_supportsMiddleEmulation); success &= valueLoader(m_middleEmulationEnabledByDefault); success &= valueLoader(m_middleEmulation); // acceleration success &= valueLoader(m_supportsPointerAcceleration); success &= valueLoader(m_supportsPointerAccelerationProfileFlat); success &= valueLoader(m_supportsPointerAccelerationProfileAdaptive); success &= valueLoader(m_defaultPointerAcceleration); success &= valueLoader(m_defaultPointerAccelerationProfileFlat); success &= valueLoader(m_defaultPointerAccelerationProfileAdaptive); success &= valueLoader(m_pointerAcceleration); success &= valueLoader(m_pointerAccelerationProfileFlat); success &= valueLoader(m_pointerAccelerationProfileAdaptive); // natural scroll success &= valueLoader(m_supportsNaturalScroll); success &= valueLoader(m_naturalScrollEnabledByDefault); success &= valueLoader(m_naturalScroll); return success; } bool KWinWaylandDevice::getDefaultConfig() { m_enabled.set(true); m_leftHanded.set(false); m_pointerAcceleration.set(m_defaultPointerAcceleration); m_pointerAccelerationProfileFlat.set(m_defaultPointerAccelerationProfileFlat); m_pointerAccelerationProfileAdaptive.set(m_defaultPointerAccelerationProfileAdaptive); m_middleEmulation.set(m_middleEmulationEnabledByDefault); m_naturalScroll.set(m_naturalScrollEnabledByDefault); return true; } bool KWinWaylandDevice::applyConfig() { QVector msgs; msgs << valueWriter(m_enabled) << valueWriter(m_leftHanded) << valueWriter(m_pointerAcceleration) << valueWriter(m_defaultPointerAccelerationProfileFlat) << valueWriter(m_defaultPointerAccelerationProfileAdaptive) << valueWriter(m_middleEmulation) << valueWriter(m_naturalScroll); bool success = true; QString error_msg; for (QString m : msgs) { if (!m.isNull()) { - qCCritical(KCM_INPUT) << "in error:" << m; + qCCritical(KCM_MOUSE) << "in error:" << m; if (!success) { error_msg.append("\n"); } error_msg.append(m); success = false; } } if (!success) { - qCCritical(KCM_INPUT) << error_msg; + qCCritical(KCM_MOUSE) << error_msg; } return success; } bool KWinWaylandDevice::isChangedConfig() const { return m_enabled.changed() || m_leftHanded.changed() || m_pointerAcceleration.changed() || m_pointerAccelerationProfileFlat.changed() || m_pointerAccelerationProfileAdaptive.changed() || m_middleEmulation.changed() || m_naturalScroll.changed(); } template QString KWinWaylandDevice::valueWriter(const Prop &prop) { if (!prop.changed()) { return QString(); } m_iface->setProperty(prop.dbus, prop.val); QDBusError error = m_iface->lastError(); if (error.isValid()) { - qCCritical(KCM_INPUT) << error.message(); + qCCritical(KCM_MOUSE) << error.message(); return error.message(); } return QString(); } template bool KWinWaylandDevice::valueLoader(Prop &prop) { QVariant reply = m_iface->property(prop.dbus); if (!reply.isValid()) { - qCCritical(KCM_INPUT) << "Error on d-bus read of" << prop.dbus; + qCCritical(KCM_MOUSE) << "Error on d-bus read of" << prop.dbus; prop.avail = false; return false; } prop.avail = true; T replyValue = valueLoaderPart(reply); prop.old = replyValue; prop.val = replyValue; return true; } diff --git a/kcms/input/backends/kwin_wl/kwin_wl_device.h b/kcms/mouse/backends/kwin_wl/kwin_wl_device.h similarity index 100% rename from kcms/input/backends/kwin_wl/kwin_wl_device.h rename to kcms/mouse/backends/kwin_wl/kwin_wl_device.h diff --git a/kcms/input/backends/x11.cmake b/kcms/mouse/backends/x11.cmake similarity index 100% rename from kcms/input/backends/x11.cmake rename to kcms/mouse/backends/x11.cmake diff --git a/kcms/input/backends/x11/evdev_settings.cpp b/kcms/mouse/backends/x11/evdev_settings.cpp similarity index 100% rename from kcms/input/backends/x11/evdev_settings.cpp rename to kcms/mouse/backends/x11/evdev_settings.cpp diff --git a/kcms/input/backends/x11/evdev_settings.h b/kcms/mouse/backends/x11/evdev_settings.h similarity index 100% rename from kcms/input/backends/x11/evdev_settings.h rename to kcms/mouse/backends/x11/evdev_settings.h diff --git a/kcms/input/backends/x11/libinput_settings.cpp b/kcms/mouse/backends/x11/libinput_settings.cpp similarity index 100% rename from kcms/input/backends/x11/libinput_settings.cpp rename to kcms/mouse/backends/x11/libinput_settings.cpp diff --git a/kcms/input/backends/x11/libinput_settings.h b/kcms/mouse/backends/x11/libinput_settings.h similarity index 100% rename from kcms/input/backends/x11/libinput_settings.h rename to kcms/mouse/backends/x11/libinput_settings.h diff --git a/kcms/input/backends/x11/x11_backend.cpp b/kcms/mouse/backends/x11/x11_backend.cpp similarity index 97% rename from kcms/input/backends/x11/x11_backend.cpp rename to kcms/mouse/backends/x11/x11_backend.cpp index a739e899a..c15a61bd0 100644 --- a/kcms/input/backends/x11/x11_backend.cpp +++ b/kcms/mouse/backends/x11/x11_backend.cpp @@ -1,157 +1,157 @@ /* * Copyright 2017 Xuetian Weng * Copyright 2018 Roman Gilg * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "x11_backend.h" #include "x11_evdev_backend.h" #include "x11_libinput_backend.h" #include "logging.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_XCURSOR #include #include #endif X11Backend *X11Backend::implementation(QObject *parent) { auto dpy = QX11Info::display(); Atom testAtom = XInternAtom(dpy, LIBINPUT_PROP_ACCEL, True); //There are multiple possible drivers if (testAtom) { - qCDebug(KCM_INPUT) << "Using libinput driver on X11."; + qCDebug(KCM_MOUSE) << "Using libinput driver on X11."; return new X11LibinputBackend(parent); } else { - qCDebug(KCM_INPUT) << "Using evdev driver on X11."; + qCDebug(KCM_MOUSE) << "Using evdev driver on X11."; return new X11EvdevBackend(parent); } } X11Backend::X11Backend(QObject* parent) : InputBackend(parent) { m_platformX11 = QX11Info::isPlatformX11(); if (m_platformX11) { m_dpy = QX11Info::display(); } else { // TODO: remove this - not needed anymore with Wayland backend! // let's hope we have a compatibility system like Xwayland ready m_dpy = XOpenDisplay(nullptr); } } X11Backend::~X11Backend() { if (!m_platformX11 && m_dpy) { XCloseDisplay(m_dpy); } } QString X11Backend::currentCursorTheme() { if (!m_dpy) { return QString(); } QByteArray name = XGetDefault(m_dpy, "Xcursor", "theme"); #ifdef HAVE_XCURSOR if (name.isEmpty()) { name = QByteArray(XcursorGetTheme(m_dpy)); } #endif return QFile::decodeName(name); } void X11Backend::applyCursorTheme(const QString& theme, int size) { #ifdef HAVE_XCURSOR // Apply the KDE cursor theme to ourselves if (m_dpy) { return; } if (!theme.isEmpty()) { XcursorSetTheme(m_dpy, QFile::encodeName(theme)); } if (size >= 0) { XcursorSetDefaultSize(m_dpy, size); } // Load the default cursor from the theme and apply it to the root window. Cursor handle = XcursorLibraryLoadCursor(m_dpy, "left_ptr"); XDefineCursor(m_dpy, DefaultRootWindow(m_dpy), handle); XFreeCursor(m_dpy, handle); // Don't leak the cursor XFlush(m_dpy); #endif } void X11Backend::kcmInit() { KConfigGroup group = KConfig("kcminputrc", KConfig::NoGlobals).group("Mouse"); QString theme = group.readEntry("cursorTheme", QString()); QString size = group.readEntry("cursorSize", QString()); int intSize = -1; if (size.isEmpty()) { bool ok; uint value = size.toUInt(&ok); if (ok) { intSize = value; } } // Note: If you update this code, update kapplymousetheme as well. // use a default value for theme only if it's not configured at all, not even in X resources if (theme.isEmpty() && currentCursorTheme().isEmpty()) { theme = "breeze_cursors"; } applyCursorTheme(theme, intSize); // Tell klauncher to set the XCURSOR_THEME and XCURSOR_SIZE environment // variables when launching applications. OrgKdeKLauncherInterface klauncher(QStringLiteral("org.kde.klauncher5"), QStringLiteral("/KLauncher"), QDBusConnection::sessionBus()); if (!theme.isEmpty()) { klauncher.setLaunchEnv(QStringLiteral("XCURSOR_THEME"), theme); } if (!size.isEmpty()) { klauncher.setLaunchEnv(QStringLiteral("XCURSOR_SIZE"), size); } } diff --git a/kcms/input/backends/x11/x11_backend.h b/kcms/mouse/backends/x11/x11_backend.h similarity index 100% rename from kcms/input/backends/x11/x11_backend.h rename to kcms/mouse/backends/x11/x11_backend.h diff --git a/kcms/input/backends/x11/x11_evdev_backend.cpp b/kcms/mouse/backends/x11/x11_evdev_backend.cpp similarity index 100% rename from kcms/input/backends/x11/x11_evdev_backend.cpp rename to kcms/mouse/backends/x11/x11_evdev_backend.cpp diff --git a/kcms/input/backends/x11/x11_evdev_backend.h b/kcms/mouse/backends/x11/x11_evdev_backend.h similarity index 100% rename from kcms/input/backends/x11/x11_evdev_backend.h rename to kcms/mouse/backends/x11/x11_evdev_backend.h diff --git a/kcms/input/backends/x11/x11_libinput_backend.cpp b/kcms/mouse/backends/x11/x11_libinput_backend.cpp similarity index 100% rename from kcms/input/backends/x11/x11_libinput_backend.cpp rename to kcms/mouse/backends/x11/x11_libinput_backend.cpp diff --git a/kcms/input/backends/x11/x11_libinput_backend.h b/kcms/mouse/backends/x11/x11_libinput_backend.h similarity index 100% rename from kcms/input/backends/x11/x11_libinput_backend.h rename to kcms/mouse/backends/x11/x11_libinput_backend.h diff --git a/kcms/input/backends/x11/x11_libinput_dummydevice.cpp b/kcms/mouse/backends/x11/x11_libinput_dummydevice.cpp similarity index 100% rename from kcms/input/backends/x11/x11_libinput_dummydevice.cpp rename to kcms/mouse/backends/x11/x11_libinput_dummydevice.cpp diff --git a/kcms/input/backends/x11/x11_libinput_dummydevice.h b/kcms/mouse/backends/x11/x11_libinput_dummydevice.h similarity index 100% rename from kcms/input/backends/x11/x11_libinput_dummydevice.h rename to kcms/mouse/backends/x11/x11_libinput_dummydevice.h diff --git a/kcms/input/inputbackend.cpp b/kcms/mouse/inputbackend.cpp similarity index 88% rename from kcms/input/inputbackend.cpp rename to kcms/mouse/inputbackend.cpp index ad33a2c5d..15ad33ceb 100644 --- a/kcms/input/inputbackend.cpp +++ b/kcms/mouse/inputbackend.cpp @@ -1,42 +1,42 @@ /* * Copyright 2017 Xuetian Weng * Copyright 2018 Roman Gilg * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "inputbackend.h" #include "backends/x11/x11_backend.h" #include "backends/kwin_wl/kwin_wl_backend.h" #include "logging.h" #include InputBackend *InputBackend::implementation(QObject *parent) { //There are multiple possible backends if (KWindowSystem::isPlatformX11()) { - qCDebug(KCM_INPUT) << "Using X11 backend"; + qCDebug(KCM_MOUSE) << "Using X11 backend"; return X11Backend::implementation(parent); } else if (KWindowSystem::isPlatformWayland()) { - qCDebug(KCM_INPUT) << "Using KWin+Wayland backend"; + qCDebug(KCM_MOUSE) << "Using KWin+Wayland backend"; return new KWinWaylandBackend(parent); } else { - qCCritical(KCM_INPUT) << "Not able to select appropriate backend."; + qCCritical(KCM_MOUSE) << "Not able to select appropriate backend."; return nullptr; } } diff --git a/kcms/input/inputbackend.h b/kcms/mouse/inputbackend.h similarity index 100% rename from kcms/input/inputbackend.h rename to kcms/mouse/inputbackend.h diff --git a/kcms/input/kapplymousetheme.cpp b/kcms/mouse/kapplymousetheme.cpp similarity index 100% rename from kcms/input/kapplymousetheme.cpp rename to kcms/mouse/kapplymousetheme.cpp diff --git a/kcms/input/kcm/configcontainer.cpp b/kcms/mouse/kcm/configcontainer.cpp similarity index 100% rename from kcms/input/kcm/configcontainer.cpp rename to kcms/mouse/kcm/configcontainer.cpp diff --git a/kcms/input/kcm/configcontainer.h b/kcms/mouse/kcm/configcontainer.h similarity index 100% rename from kcms/input/kcm/configcontainer.h rename to kcms/mouse/kcm/configcontainer.h diff --git a/kcms/input/kcm/configplugin.cpp b/kcms/mouse/kcm/configplugin.cpp similarity index 88% rename from kcms/input/kcm/configplugin.cpp rename to kcms/mouse/kcm/configplugin.cpp index 9dffe78c4..a5f466ebd 100644 --- a/kcms/input/kcm/configplugin.cpp +++ b/kcms/mouse/kcm/configplugin.cpp @@ -1,49 +1,49 @@ /* * Copyright 2018 Roman Gilg * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "configplugin.h" #include "configcontainer.h" #include "inputbackend.h" #include "libinput/libinput_config.h" #include "xlib/xlib_config.h" #include ConfigPlugin* ConfigPlugin::implementation(ConfigContainer *parent) { InputBackend *backend = InputBackend::implementation(parent); InputBackendMode mode = backend->mode(); if (mode == InputBackendMode::KWinWayland || mode == InputBackendMode::XLibinput) { - qCDebug(KCM_INPUT) << "With libinput user interface."; + qCDebug(KCM_MOUSE) << "With libinput user interface."; return new LibinputConfig(parent, backend); } else if (mode == InputBackendMode::XEvdev) { - qCDebug(KCM_INPUT) << "With X11 evdev user interface."; + qCDebug(KCM_MOUSE) << "With X11 evdev user interface."; return new XlibConfig(parent, backend); } else { - qCCritical(KCM_INPUT) << "Not able to select appropriate backend."; + qCCritical(KCM_MOUSE) << "Not able to select appropriate backend."; return nullptr; } } ConfigPlugin::ConfigPlugin(ConfigContainer *parent) : QWidget(parent), m_parent(parent) { } diff --git a/kcms/input/kcm/configplugin.h b/kcms/mouse/kcm/configplugin.h similarity index 100% rename from kcms/input/kcm/configplugin.h rename to kcms/mouse/kcm/configplugin.h diff --git a/kcms/input/kcm/libinput/components/ExclGroupBox.qml b/kcms/mouse/kcm/libinput/components/ExclGroupBox.qml similarity index 100% rename from kcms/input/kcm/libinput/components/ExclGroupBox.qml rename to kcms/mouse/kcm/libinput/components/ExclGroupBox.qml diff --git a/kcms/input/kcm/libinput/components/ToolTip.qml b/kcms/mouse/kcm/libinput/components/ToolTip.qml similarity index 100% rename from kcms/input/kcm/libinput/components/ToolTip.qml rename to kcms/mouse/kcm/libinput/components/ToolTip.qml diff --git a/kcms/input/kcm/libinput/libinput_config.cpp b/kcms/mouse/kcm/libinput/libinput_config.cpp similarity index 100% rename from kcms/input/kcm/libinput/libinput_config.cpp rename to kcms/mouse/kcm/libinput/libinput_config.cpp diff --git a/kcms/input/kcm/libinput/libinput_config.h b/kcms/mouse/kcm/libinput/libinput_config.h similarity index 100% rename from kcms/input/kcm/libinput/libinput_config.h rename to kcms/mouse/kcm/libinput/libinput_config.h diff --git a/kcms/input/kcm/libinput/main.qml b/kcms/mouse/kcm/libinput/main.qml similarity index 100% rename from kcms/input/kcm/libinput/main.qml rename to kcms/mouse/kcm/libinput/main.qml diff --git a/kcms/input/kcm/libinput/main_deviceless.qml b/kcms/mouse/kcm/libinput/main_deviceless.qml similarity index 100% rename from kcms/input/kcm/libinput/main_deviceless.qml rename to kcms/mouse/kcm/libinput/main_deviceless.qml diff --git a/kcms/input/kcm/resources.qrc b/kcms/mouse/kcm/resources.qrc similarity index 100% rename from kcms/input/kcm/resources.qrc rename to kcms/mouse/kcm/resources.qrc diff --git a/kcms/input/kcm/xlib/kcmmouse.ui b/kcms/mouse/kcm/xlib/kcmmouse.ui similarity index 100% rename from kcms/input/kcm/xlib/kcmmouse.ui rename to kcms/mouse/kcm/xlib/kcmmouse.ui diff --git a/kcms/input/kcm/xlib/xlib_config.cpp b/kcms/mouse/kcm/xlib/xlib_config.cpp similarity index 96% rename from kcms/input/kcm/xlib/xlib_config.cpp rename to kcms/mouse/kcm/xlib/xlib_config.cpp index 6dbfe0333..c29cb9452 100644 --- a/kcms/input/kcm/xlib/xlib_config.cpp +++ b/kcms/mouse/kcm/xlib/xlib_config.cpp @@ -1,323 +1,323 @@ /* * Copyright 1997 Patrick Dowler dowler@morgul.fsh.uvic.ca * Copyright 1999 Dirk A. Mueller * Copyright 1999 Matthias Hoelzer-Kluepfel * Copyright 2000 David Faure * Copyright 2000 Bernd Gehrmann * Copyright 2000 Rik Hemsley * Copyright 2000 Brad Hughes * Copyright 2001 Ralf Nolden * Copyright 2004 Brad Hards * Copyright 2018 Roman Gilg * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "xlib_config.h" #include "backends/x11/x11_evdev_backend.h" #include "../configcontainer.h" #include "../../../migrationlib/kdelibs4config.h" #include #include #include #include //#include #include #include #include #include #include #include #include #include #include #include #include #include XlibConfig::XlibConfig(ConfigContainer *parent, InputBackend *backend) : ConfigPlugin(parent), m_backend(dynamic_cast(backend)) { setupUi(this); handedGroup->setId(rightHanded, static_cast(Handed::Right)); handedGroup->setId(leftHanded, static_cast(Handed::Left)); connect(handedGroup, SIGNAL(buttonClicked(int)), m_parent, SLOT(changed())); connect(handedGroup, SIGNAL(buttonClicked(int)), this, SLOT(slotHandedChanged(int))); connect(cbScrollPolarity, SIGNAL(clicked()), m_parent, SLOT(changed())); connect(cbScrollPolarity, SIGNAL(clicked()), this, SLOT(slotScrollPolarityChanged())); connect(accel, SIGNAL(valueChanged(double)), m_parent, SLOT(changed())); connect(thresh, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(thresh, SIGNAL(valueChanged(int)), this, SLOT(slotThreshChanged(int))); slotThreshChanged(thresh->value()); // It would be nice if the user had a test field. // Selecting such values in milliseconds is not intuitive connect(doubleClickInterval, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(dragStartTime, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(dragStartDist, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(dragStartDist, SIGNAL(valueChanged(int)), this, SLOT(slotDragStartDistChanged(int))); slotDragStartDistChanged(dragStartDist->value()); connect(wheelScrollLines, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(wheelScrollLines, SIGNAL(valueChanged(int)), SLOT(slotWheelScrollLinesChanged(int))); slotWheelScrollLinesChanged(wheelScrollLines->value()); connect(mouseKeys, SIGNAL(clicked()), this, SLOT(checkAccess())); connect(mouseKeys, SIGNAL(clicked()), m_parent, SLOT(changed())); connect(mk_delay, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(mk_interval, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(mk_time_to_max, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(mk_max_speed, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); connect(mk_curve, SIGNAL(valueChanged(int)), m_parent, SLOT(changed())); KAboutData* about = new KAboutData(QStringLiteral("kcmmouse"), i18n("Mouse"), QStringLiteral("1.0"), QString(), KAboutLicense::GPL, i18n("(c) 1997 - 2018 Mouse developers")); about->addAuthor(i18n("Patrick Dowler")); about->addAuthor(i18n("Dirk A. Mueller")); about->addAuthor(i18n("David Faure")); about->addAuthor(i18n("Bernd Gehrmann")); about->addAuthor(i18n("Rik Hemsley")); about->addAuthor(i18n("Brad Hughes")); about->addAuthor(i18n("Ralf Nolden")); about->addAuthor(i18n("Brad Hards")); about->addAuthor(i18n("Roman Gilg")); m_parent->setAboutData(about); } void XlibConfig::checkAccess() { mk_delay->setEnabled(mouseKeys->isChecked()); mk_interval->setEnabled(mouseKeys->isChecked()); mk_time_to_max->setEnabled(mouseKeys->isChecked()); mk_max_speed->setEnabled(mouseKeys->isChecked()); mk_curve->setEnabled(mouseKeys->isChecked()); } double XlibConfig::getAccel() { return accel->value(); } void XlibConfig::setAccel(double val) { accel->setValue(val); } int XlibConfig::getThreshold() { return thresh->value(); } void XlibConfig::setThreshold(int val) { thresh->setValue(val); } Handed XlibConfig::getHandedness() { if (rightHanded->isChecked()) return Handed::Right; else return Handed::Left; } void XlibConfig::setHandedness(Handed val) { rightHanded->setChecked(false); leftHanded->setChecked(false); if (val == Handed::Right) { rightHanded->setChecked(true); - mousePix->setPixmap(KStandardDirs::locate("data", "kcminput/pics/mouse_rh.png")); + mousePix->setPixmap(KStandardDirs::locate("data", "kcmmouse/pics/mouse_rh.png")); } else { leftHanded->setChecked(true); - mousePix->setPixmap(KStandardDirs::locate("data", "kcminput/pics/mouse_lh.png")); + mousePix->setPixmap(KStandardDirs::locate("data", "kcmmouse/pics/mouse_lh.png")); } m_backend->settings()->handedNeedsApply = true; } void XlibConfig::load() { EvdevSettings *settings = m_backend->settings(); m_parent->kcmLoad(); m_backend->load(); // Only allow setting reversing scroll polarity if we have scroll buttons if (m_backend) { if (m_backend->supportScrollPolarity()) { cbScrollPolarity->setEnabled(true); cbScrollPolarity->show(); } else { cbScrollPolarity->setEnabled(false); cbScrollPolarity->hide(); } } rightHanded->setEnabled(settings->handedEnabled); leftHanded->setEnabled(settings->handedEnabled); if (cbScrollPolarity->isEnabled()) cbScrollPolarity->setEnabled(settings->handedEnabled); cbScrollPolarity->setChecked(settings->reverseScrollPolarity); setAccel(settings->accelRate); setThreshold(settings->thresholdMove); setHandedness(settings->handed); doubleClickInterval->setValue(settings->doubleClickInterval); dragStartTime->setValue(settings->dragStartTime); dragStartDist->setValue(settings->dragStartDist); wheelScrollLines->setValue(settings->wheelScrollLines); KConfig ac("kaccessrc"); KConfigGroup group = ac.group("Mouse"); mouseKeys->setChecked(group.readEntry("MouseKeys", false)); mk_delay->setValue(group.readEntry("MKDelay", 160)); int interval = group.readEntry("MKInterval", 5); mk_interval->setValue(interval); // Default time to reach maximum speed: 5000 msec int time_to_max = group.readEntry("MKTimeToMax", (5000+interval/2)/interval); time_to_max = group.readEntry("MK-TimeToMax", time_to_max*interval); mk_time_to_max->setValue(time_to_max); // Default maximum speed: 1000 pixels/sec // (The old default maximum speed from KDE <= 3.4 // (100000 pixels/sec) was way too fast) long max_speed = group.readEntry("MKMaxSpeed", interval); max_speed = max_speed * 1000 / interval; if (max_speed > 2000) max_speed = 2000; max_speed = group.readEntry("MK-MaxSpeed", int(max_speed)); mk_max_speed->setValue(max_speed); mk_curve->setValue(group.readEntry("MKCurve", 0)); checkAccess(); emit m_parent->changed(false); } void XlibConfig::save() { EvdevSettings *settings = m_backend->settings(); settings->accelRate = getAccel(); settings->thresholdMove = getThreshold(); settings->handed = getHandedness(); settings->doubleClickInterval = doubleClickInterval->value(); settings->dragStartTime = dragStartTime->value(); settings->dragStartDist = dragStartDist->value(); settings->wheelScrollLines = wheelScrollLines->value(); settings->reverseScrollPolarity = cbScrollPolarity->isChecked(); m_backend->apply(); settings->save(); KConfig ac("kaccessrc"); KConfigGroup group = ac.group("Mouse"); int interval = mk_interval->value(); group.writeEntry("MouseKeys", mouseKeys->isChecked()); group.writeEntry("MKDelay", mk_delay->value()); group.writeEntry("MKInterval", interval); group.writeEntry("MK-TimeToMax", mk_time_to_max->value()); group.writeEntry("MKTimeToMax", (mk_time_to_max->value() + interval/2)/interval); group.writeEntry("MK-MaxSpeed", mk_max_speed->value()); group.writeEntry("MKMaxSpeed", (mk_max_speed->value()*interval + 500)/1000); group.writeEntry("MKCurve", mk_curve->value()); group.sync(); // restart kaccess KToolInvocation::startServiceByDesktopName("kaccess"); emit m_parent->changed(false); } void XlibConfig::defaults() { setThreshold(2); setAccel(2); setHandedness(Handed::Right); cbScrollPolarity->setChecked(false); doubleClickInterval->setValue(400); dragStartTime->setValue(500); dragStartDist->setValue(4); wheelScrollLines->setValue(3); mouseKeys->setChecked(false); mk_delay->setValue(160); mk_interval->setValue(5); mk_time_to_max->setValue(5000); mk_max_speed->setValue(1000); mk_curve->setValue(0); checkAccess(); m_parent->kcmDefaults(); m_parent->changed(true); } /** No descriptions */ void XlibConfig::slotHandedChanged(int val) { if (val == static_cast(Handed::Right)) - mousePix->setPixmap(KStandardDirs::locate("data", "kcminput/pics/mouse_rh.png")); + mousePix->setPixmap(KStandardDirs::locate("data", "kcmmouse/pics/mouse_rh.png")); else - mousePix->setPixmap(KStandardDirs::locate("data", "kcminput/pics/mouse_lh.png")); + mousePix->setPixmap(KStandardDirs::locate("data", "kcmmouse/pics/mouse_lh.png")); m_backend->settings()->handedNeedsApply = true; } void XlibConfig::slotThreshChanged(int value) { thresh->setSuffix(i18np(" pixel", " pixels", value)); } void XlibConfig::slotDragStartDistChanged(int value) { dragStartDist->setSuffix(i18np(" pixel", " pixels", value)); } void XlibConfig::slotWheelScrollLinesChanged(int value) { wheelScrollLines->setSuffix(i18np(" line", " lines", value)); } void XlibConfig::slotScrollPolarityChanged() { m_backend->settings()->handedNeedsApply = true; } #include "xlib_config.moc" diff --git a/kcms/input/kcm/xlib/xlib_config.h b/kcms/mouse/kcm/xlib/xlib_config.h similarity index 100% rename from kcms/input/kcm/xlib/xlib_config.h rename to kcms/mouse/kcm/xlib/xlib_config.h diff --git a/kcms/input/misc/CMakeLists.txt b/kcms/mouse/misc/CMakeLists.txt similarity index 54% rename from kcms/input/misc/CMakeLists.txt rename to kcms/mouse/misc/CMakeLists.txt index 02ecec95f..1c76d46f2 100644 --- a/kcms/input/misc/CMakeLists.txt +++ b/kcms/mouse/misc/CMakeLists.txt @@ -1,6 +1,6 @@ install( FILES mouse_rh.png mouse_lh.png - DESTINATION ${KDE_INSTALL_DATADIR}/kcminput/pics + DESTINATION ${KDE_INSTALL_DATADIR}/kcmmouse/pics ) install( FILES cursor_large_black.pcf.gz cursor_large_white.pcf.gz cursor_small_white.pcf.gz - DESTINATION ${KDE_INSTALL_DATADIR}/kcminput + DESTINATION ${KDE_INSTALL_DATADIR}/kcmmouse ) diff --git a/kcms/input/misc/consoleUserPerms b/kcms/mouse/misc/consoleUserPerms similarity index 100% rename from kcms/input/misc/consoleUserPerms rename to kcms/mouse/misc/consoleUserPerms diff --git a/kcms/input/misc/cursor_large.bdf b/kcms/mouse/misc/cursor_large.bdf similarity index 100% rename from kcms/input/misc/cursor_large.bdf rename to kcms/mouse/misc/cursor_large.bdf diff --git a/kcms/input/misc/cursor_large_black.pcf.gz b/kcms/mouse/misc/cursor_large_black.pcf.gz similarity index 100% rename from kcms/input/misc/cursor_large_black.pcf.gz rename to kcms/mouse/misc/cursor_large_black.pcf.gz diff --git a/kcms/input/misc/cursor_large_white.pcf.gz b/kcms/mouse/misc/cursor_large_white.pcf.gz similarity index 100% rename from kcms/input/misc/cursor_large_white.pcf.gz rename to kcms/mouse/misc/cursor_large_white.pcf.gz diff --git a/kcms/input/misc/cursor_small_white.pcf.gz b/kcms/mouse/misc/cursor_small_white.pcf.gz similarity index 100% rename from kcms/input/misc/cursor_small_white.pcf.gz rename to kcms/mouse/misc/cursor_small_white.pcf.gz diff --git a/kcms/input/misc/mouse_lh.png b/kcms/mouse/misc/mouse_lh.png similarity index 100% rename from kcms/input/misc/mouse_lh.png rename to kcms/mouse/misc/mouse_lh.png diff --git a/kcms/input/misc/mouse_lh.svgz b/kcms/mouse/misc/mouse_lh.svgz similarity index 100% rename from kcms/input/misc/mouse_lh.svgz rename to kcms/mouse/misc/mouse_lh.svgz diff --git a/kcms/input/misc/mouse_rh.png b/kcms/mouse/misc/mouse_rh.png similarity index 100% rename from kcms/input/misc/mouse_rh.png rename to kcms/mouse/misc/mouse_rh.png diff --git a/kcms/input/misc/mouse_rh.svgz b/kcms/mouse/misc/mouse_rh.svgz similarity index 100% rename from kcms/input/misc/mouse_rh.svgz rename to kcms/mouse/misc/mouse_rh.svgz diff --git a/kcms/input/mouse.desktop b/kcms/mouse/mouse.desktop similarity index 99% rename from kcms/input/mouse.desktop rename to kcms/mouse/mouse.desktop index c9e0f1653..9f7dd65d7 100644 --- a/kcms/input/mouse.desktop +++ b/kcms/mouse/mouse.desktop @@ -1,195 +1,195 @@ [Desktop Entry] Exec=kcmshell5 mouse Icon=preferences-desktop-mouse Type=Service X-KDE-ServiceTypes=KCModule,KCModuleInit X-DocPath=kcontrol/mouse/index.html -X-KDE-Library=kcm_input +X-KDE-Library=kcm_mouse X-KDE-Init-Symbol=mouse X-KDE-ParentApp=kcontrol X-KDE-Init-Phase=0 X-KDE-System-Settings-Parent-Category=input-devices X-KDE-Weight=60 Name=Mouse Name[af]=Muis Name[ar]=الفأرة Name[be]=Мыш Name[be@latin]=Myš Name[bg]=Мишка Name[bn]=মাউস Name[bn_IN]=মাউস Name[br]=Logodenn Name[bs]=Miš Name[ca]=Ratolí Name[ca@valencia]=Ratolí Name[cs]=Myš Name[csb]=Mësz Name[cy]=Llygoden Name[da]=Mus Name[de]=Maus Name[el]=Ποντίκι Name[en_GB]=Mouse Name[eo]=Muso Name[es]=Ratón Name[et]=Hiir Name[eu]=Sagua Name[fa]=موشی Name[fi]=Hiiri Name[fr]=Souris Name[fy]=Mûs Name[ga]=Luch Name[gl]=Rato Name[gu]=માઉસ Name[he]=עכבר Name[hi]=माउस Name[hne]=मुसुवा Name[hr]=Miš Name[hsb]=Myš Name[hu]=Egér Name[ia]=Mus Name[id]=Mouse Name[is]=Mús Name[it]=Mouse Name[ja]=マウス Name[ka]=თაგვი Name[kk]=Тышқан Name[km]=កណ្ដុរ Name[kn]=ಮೂಷಕ (ಮೌಸ್) Name[ko]=마우스 Name[ku]=Mişk Name[lt]=Pelė Name[lv]=Pele Name[mai]=माउस Name[mk]=Глушец Name[ml]=മൌസ് Name[mr]=माऊस Name[ms]=Tetikus Name[nb]=Mus Name[nds]=Muus Name[ne]=माउस Name[nl]=Muis Name[nn]=Mus Name[oc]=Mirga Name[or]=ମାଉସ Name[pa]=ਮਾਊਸ Name[pl]=Mysz Name[pt]=Rato Name[pt_BR]=Mouse Name[ro]=Maus Name[ru]=Мышь Name[se]=Sáhpán Name[si]=මවුසය Name[sk]=Myš Name[sl]=Miška Name[sr]=Миш Name[sr@ijekavian]=Миш Name[sr@ijekavianlatin]=Miš Name[sr@latin]=Miš Name[sv]=Mus Name[ta]=சுட்டி Name[te]=మౌస్ Name[tg]=Муш Name[th]=เมาส์ Name[tr]=Fare Name[ug]=چاشقىنەك Name[uk]=Мишка Name[uz]=Sichqoncha Name[uz@cyrillic]=Сичқонча Name[vi]=Chuột Name[wa]=Sori Name[xh]=Mouse Name[x-test]=xxMousexx Name[zh_CN]=鼠标 Name[zh_TW]=滑鼠 Comment=Mouse Controls Comment[ar]=تحكّمات الفأرة Comment[bs]=Kontrole miša Comment[ca]=Controls del ratolí Comment[ca@valencia]=Controls del ratolí Comment[cs]=Nastavení myši Comment[da]=Musekontroller Comment[de]=Maussteuerung Comment[el]=Στοιχεία ελέγχου ποντικιού Comment[en_GB]=Mouse Controls Comment[es]=Controles del ratón Comment[et]=Hiire määratlused Comment[eu]=Sagu-kontrolak Comment[fi]=Hiiren painikkeet Comment[fr]=Contrôles de la souris Comment[gl]=Controis do rato Comment[he]=פקדי העכבר Comment[hu]=Irányítás az egérrel Comment[id]=Kendali Mouse Comment[is]=Músarstýringar Comment[it]=Controlli del mouse Comment[ko]=마우스 제어 Comment[lt]=Pelės valdikliai Comment[nb]=Musstyring Comment[nds]=De Muus instellen Comment[nl]=Muisbesturing Comment[nn]=Musstyring Comment[pa]=ਮਾਊਸ ਕੰਟਰੋਲ Comment[pl]=Sterowanie myszą Comment[pt]=Controlos do Rato Comment[pt_BR]=Controles do mouse Comment[ru]=Настройка мыши Comment[sk]=Ovládače myši Comment[sl]=Nadzor miške Comment[sr]=Управљање мишем Comment[sr@ijekavian]=Управљање мишем Comment[sr@ijekavianlatin]=Upravljanje mišem Comment[sr@latin]=Upravljanje mišem Comment[sv]=Musstyrning Comment[tr]=Fare Kontrolleri Comment[uk]=Керування мишею Comment[x-test]=xxMouse Controlsxx Comment[zh_CN]=鼠标控制 Comment[zh_TW]=滑鼠控制 X-KDE-Keywords=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation X-KDE-Keywords[bs]=Miš, Brzina kretanja miša, Prag osjetljivosti miša, Tasteri miša, Oblik kursora, Ulazni Uređaji, Mapiranje tastera, Klik, Ikone, feedback (povratna veza), Pokazivači, Vuči (drag), Dupli klik, Jedan Klik, Mapiranje, Dešnjak, Ljevak, Uređaj koji je Pokazivač (miš, Trackball, Joystick), Točkić za pomicanje (gore ili dolje), Emulatija Miša, Navigacija Miša, Miš Povucite i ispustite(drag and drop), Skrolanje Mišem, Osjetljivost Miša, Pomjeranje miša pomoću brojevne tastature, Emulacija miša pomoću brojevne tastature X-KDE-Keywords[ca]=Ratolí,Acceleració de ratolí,Llindar de ratolí,Botons de ratolí,Selecció,Ombra de cursor,Dispositius d'entrada,Mapatge de botó,Clic,icones,reacció,Apuntadors,Arrossegar,Clic doble,Clic normal,mapatge,dretà,esquerrà,Dispositiu apuntador,Roda de ratolí,Emulació de ratolí,Navegació amb ratolí,Arrossegar i deixar anar de ratolí,Desplaçament amb ratolí,Sensibilitat del ratolí,Moure el ratolí amb teclat numèric,Emulació de ratolí amb teclat numèric X-KDE-Keywords[ca@valencia]=Ratolí,Acceleració de ratolí,Llindar de ratolí,Botons de ratolí,Selecció,Ombra de cursor,Dispositius d'entrada,Mapatge de botó,Clic,icones,reacció,Apuntadors,Arrossegar,Clic doble,Clic normal,mapatge,dretà,esquerrà,Dispositiu apuntador,Roda de ratolí,Emulació de ratolí,Navegació amb ratolí,Arrossegar i deixar anar de ratolí,Desplaçament amb ratolí,Sensibilitat del ratolí,Moure el ratolí amb teclat numèric,Emulació de ratolí amb teclat numèric X-KDE-Keywords[da]=Mus,Museacceleration,musetærskel,museknapper,markering,markørform,Input-enheder,knapkobling,klik,ikoner,feedback,Pointers,træk,dobbeltklik,enkeltklik,kobling,højrehåndet,venstrehåndet,pegeenhed,musehjul,museemulering,musenavigation,træk og slip,muserulning,scrolling,musefølsomhed,bevæg mus med numerisk tastatur,markører,cursor,rulning X-KDE-Keywords[de]=Maus,Mausbeschleunigung,Mausschwellwert,Maustasten,Auswahl,Cursor,Cursor-Form,Eingabegeräte,Knöpfe,Buttons,Zuordnungen,Klicks,Zeigegeräte,Doppelklick,Rechtshänder,Linkshänder,Ziehen,Mausrad,Maus-Emulation,Maus-Navigation,Ziehen und Ablegen mit der Maus,Blättern mit der Maus,Maus-Empfindlichkeit,Mauszeiger mit der Zahlentastatur verschieben,Maus-Emulation mit der Zahlentastatur X-KDE-Keywords[el]=ποντίκι,επιτάχυνση ποντικιού,κατώφλι ποντικιού,κουμπιά ποντικιού,επιλογή,σχήμα δρομέα,συσκευές εισόδου,χαρτογράφηση κουμπιών,κλικ,εικονίδια,ανάδραση,δείκτες,έλξη,διπλό κλικ,μονό κλικ,χαρτογράφηση,δεξιόχειρας,αριστερόχειρας,συσκευή δείκτη,τροχός ποντικιού,εξομοίωση ποντικιού,πλοήγηση ποντικιού,έλξη και απόθεση ποντικιού,κύλιση ποντικιού,ευαισθησία ποντικιού,κίνηση ποντικιού με το αριθμητικό πληκτρολόγιο,εξομοίωση ποντικιού αριθμητικού πληκτρολογίου X-KDE-Keywords[en_GB]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation X-KDE-Keywords[es]=Ratón,Aceleración de ratón,Umbral del ratón,Botones del ratón,Selección,Forma del cursor,Dispositivos de entrada,Mapeo de botones,Clic,iconos,reacción,Punteros,Arrastrar,Doble clic,clic sencillo,mapeo,diestro,zurdo,Dispositivo apuntador,Rueda del ratón,Emulación del ratón,Navegación con el ratón,Arrastrar y soltar con el ratón,Desplazamiento con el ratón,Sensibilidad del ratón,Mover el ratón con el teclado numérico,Emulación del ratón con el teclado numérico X-KDE-Keywords[et]=hiir,hiire kiirendamine,hiire lävi,hiirenupud,valik,kursori kuju,sisendseadmed,nuppude seostamine,klõps,klõpsamine,ikoonid,tagasiside,lohistamine,topeltklõps,ühekordne klõps,seostamine,paremakäelised,vasakukäelised,osutusseade,hiireratas,hiire emuleerimine,hiirega liikumine,hiirega lohistamine,hiirega kerimine,hiire tundlikkus,hiire liigutamine numbriklahvistikuga,hiire numbriklahvistiku emuleerimine X-KDE-Keywords[eu]=sagu,saguaren azelerazio,saguaren atalase,saguaren botoiak,hautapena,kurtsorearen forma,sarrerako gailuak,botoiak mapatzea,klik,ikonoak,oharrak,erakusle,arrastatu,klik bikoitza,klik bakarra,mapatze,eskuina,ezkerra,erakuslearen gailu,saguaren gurpil,saguaren emulazio,sagu bidezko nabigazio,saguaren bidez arrastatu eta jaregin,saguaren bidez korritu,saguaren sentikortasuna,sagua zenbakizko teklatuarekin mugitzea,sagua emulatzea zenbakizko teklatuarekin X-KDE-Keywords[fi]=Hiiri,Osoittimen kiihdytys,Osoittimen raja-arvo,Hiiripainikkeet,Valinta,Osoittimen muoto,Syöttölaitteet,Syötelaitteet,Painikkeiden kuvaus,Napsauta,Napsautus,kuvakkeet,tuntuma,Osoittimet,Raahaus,Kaksoisnapsautus,kuvaus,oikeakätinen,oikeakätisyys,vasenkätinen,vasenkätisyys,osoitinlaite,hiiren rulla,hiiren emulointi,hiirinavigointi,hiiren vedä ja pudota,hiiren vieritys,hiiren herkkyys,hiiren liikuttaminen numeronäppäimistöltä X-KDE-Keywords[fr]=Souris, Accélération de la souris, Seuil de la souris, Boutons de la souris, Sélection, Forme du curseur, Périphériques d'entrée, affectation des boutons, Clic, icônes, réaction, Pointeurs, Glisser, Double clic, Simple clic, affectation, droitier, gaucher, Périphérique de pointage, Roulette de la souris, Émulation de la souris, Navigation de la souris, Glisser-déposer, Défilement de la souris, Sensibilité de la souris, Déplacement de la souris avec le pavé numérique, Émulation de la souris du pavé numérique X-KDE-Keywords[gl]=rato, aceleración do rato, limiar do rato, botóns do rato, selección, escolla, forma do rato, dispositivos de entrada, mapas de botóns, premer, clic, iconas, punteiro, arrastrar, duplo clic, dobre clic, dereito, zurdo, dispositivo do punteiro, roda do rato, emulación do rato, navegación co rato, arrastrar e soltar co rato, sensibilidade do rato, mover o rato co teclado numérico, teclado numérico X-KDE-Keywords[hu]=Egér,Egérgyorsítás,Egérküszöb,Egérgombok,Kijelölés,Kurzorforma,Beviteli eszközök,Gombhozzárendelés,Kattintás,ikonok,visszajelzés,Mutatók,Fogás,Dupla kattintás,Egyszeres kattintás,leképezés,jobb kezes,bal kezes,Mutató eszköz,Egérgörgő,Egéremuláció,Egérnavigáció,Egér fogd és vidd,Egérgörgetés,Egér érzékenység,Egér mozgatása numerikus billentyűkkel,Egér numerikus billentyűzet emuláció X-KDE-Keywords[ia]=Mus,Acceleration de mus,Limine de mus,Buttones de mus,Selection,Forma de cursor, Dispositivos de ingresso,Mappatura de button,Click,icones,retro-information,Punctatores,Trahe,DupleClick,Singule click,mappar,con mano dextere, con mano sinistre,Dispositivo punctator,Rota de Mus,Emulation de mus,Navigation de mus,Traher e Poner con Mus, Rolar con Mus,Sensibilitate de mus, Move Mus con NumPad,Emulation Mus con NumPad X-KDE-Keywords[id]=Mouse,akselerasi Mouse,ambang batas Mouse,tombol Mouse,Pilihan, Bentuk Kursor,Perangkat masukan,Pemetaan Tombol,Klik,ikon,tanggapan,Penunjuk,Tarik,Klik Ganda,Klik Tunggal,pemetaan,tangan kanan,kidal,Perangkat Penunjuk,Roda Mouse,Emulasi Mouse,Navigasi Mouse,Seret dan Letakkan Mouse,Penggulungan Mouse,Sensitivitas Mouse,Gerakkan Mouse dengan Papan Numerik,Emulasi Papan Numerik Mouse X-KDE-Keywords[it]=mouse,accelerazione del mouse,soglia del mouse,pulsanti del mouse,selezione,forma del puntatore,dispositivi di ingresso,mappatura dei pulsanti,clic,icone,segnale di avvio,puntatori,trascinamento,doppio clic,singolo clic,mappatura,destrorso,mancino,dispositivo di puntamento,rotellina del mouse,emulazione del mouse,navigazione con il mouse, trascinamento con il mouse, scorrimento con il mouse, sensibilità del mouse,muovi il mouse con il tastierino numerico,emulazione mouse con il tastierino numerico X-KDE-Keywords[kk]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation X-KDE-Keywords[km]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation X-KDE-Keywords[ko]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,마우스,마우스 가속,시간,커서 모양,입력 장치,클릭,드래그,왼손잡이,오른손잡이,마우스 휠,마우스 탐색, 마우스 스크롤,감도,스크롤,휠 X-KDE-Keywords[mr]=माऊस, माऊस एक्सलरेशन, माऊस थ्रेशहोल्ड, माऊस बटन्स, सिलेक्शन, कर्सर शेप, इनपुट डिव्हाईस, बटन मेपिंग, क्लिक, आयकॉनस, फीडबेक, पॉईटर, ड्रग डबल, क्लिक, सिंगल क्लिक, मेपिंग, राईट हेन्डेड ,पॉईटर डिव्हाईस,माऊस, व्हील, माऊस इम्यूलेशन, माऊस,नेव्हीगेशन, माऊस ड्रेग व ड्रोप,न्यूम पॅड, माऊस न्यूम पॅड इम्यूलेशन X-KDE-Keywords[nb]=Mus,Pekerakselerasjon,Pekerterskel,knapper,valg,pekerform,Inndataenheter,knappeavbildning,Klikk, ikoner,oppstartsmelding,Pekere,Dra,Dobbeltklikk,Enkeltklikk,Knapperekkefølge,høyrehendt,venstrehendt,Pekerenhet,Musehjul,Musemulering,Musenavigasjon,Dra og slipp med Mus, Muserulling,Flytt mus med talltastatur,Museemulering med talltastatur X-KDE-Keywords[nds]=Muus,Muusbeslünigen,Wieser-Süll,Muusgauheit,Muusknööp,Köör,Blinkerform,Ingaavreedschappen,Knoop-Toornen,Klick,Lüttbiller,Rückmellen,Wiesers,Dregen,Dubbelklick,Towiesen,Rechtepoot,Linkepoot,Wiesreedschap,Muusrad,Muusemuleren,Muusstüern,Dregen un Droppen,Trecken,Afsetten,Fallenlaten,Rullen,Föhlsamkeit,Tallenblock X-KDE-Keywords[nl]=muis,muisversnelling,muisdrempel,muisknoppen,selectie,cursorvorm,invoerapparaten,knoppenmapping,klik,pictogrammen,terugkoppeling,aanwijzer,slepen,dubbelklik,klik,mapping,rechtshandig,linkshandig,aanwijsapparaat,muiswiel,muisemulatie,muisnavigatie,slepen en laten vallen met muis,schuiven met de muis,muisgevoeligheid,muis bewegen met num-pad,emulatie van num-pad met muis X-KDE-Keywords[nn]=mus,peikarakselerasjon,peikarterskel,knappar,val,peikarform,inndataeiningar,knappetilordning,klikk, ikon,oppstartsmelding,peikarar,dra,dobbeltklikk,enkeltklikk,knapperekkjefølgje,høgrehendt,venstrehendt,peikareining,musehjul,musemulering,musenavigasjon,dra-og-slepp med mus,muserulling,flytt mus med taltastatur,museemulering med taltastatur X-KDE-Keywords[pl]=Mysz,Przyspieszenie myszy,Próg myszy,Przyciski myszy,Zaznaczenie, Kształt kursora,Urządzenia wejścia,Mapowanie przycisków,Kliknięcie,ikony,odczucie,Wskaźniki,Przeciągnięcie,Podwójne kliknięcie,mapowanie,praworęczny,leworęczny, Urządzenie wskazujące,Rolka myszy,Emulacja myszy,Nawigacja myszą,Przeciąganie i upuszczanie myszą,Przewijanie myszą,Czułość myszy,Przemieszczaj myszą przy użyciu klawiatury numerycznej,Emulacja myszy klawiaturą numeryczną X-KDE-Keywords[pt]=Rato,aceleração do rato,limiar do rato,botões do rato,selecção,forma do cursor,dispositivos de entrada,associação de botões,click,ícones,reacção,cursores,arrastar,duplo-click,associação,destro,esquerdino,ponteiro,roda do rato,emulação do rato,navegação do rato,arrastamento com o rato,deslocamento do rato,sensibilidade do rato,mover o rato com cursores,emulação do rato com teclado numérico X-KDE-Keywords[pt_BR]=Mouse,aceleração do mouse,limiar do mouse,botões do mouse,seleção,forma do cursor,dispositivos de entrada,associação de botões,clique,ícones,feedback,ponteiros,arrastar,clique duplo,clique simples,associação,destro,canhoto, ponteiro,roda do mouse,emulação do mouse,navegação do mouse,arrastar e soltar com o mouse,deslocamento do mouse,sensibilidade do mouse,mover o mouse com o teclado numérico,emulação do mouse com o teclado numérico X-KDE-Keywords[ru]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,мышь,ускорение мыши,границы мыши,кнопки мыши,выбор,форма курсора,устройство ввода,назначение клавиш,клик,значки,обратная связь,указатели,перемещение,двойной клик,двойной щелчок,одиночный клик,одиночный щелчок,правая рука,левая рука,праворукая,леворукая,колесо мыши,эмуляция мыши,управление мышью, навигация мыши,прокрутка,чувствительность,управление мышью через цифровую клавиатуру X-KDE-Keywords[sk]=Myš,Zrýchlenie myši,Prah myši,Tlačidlá myši,Výber,Tvar kurzora,Vstupné zariadenia,Mapovanie tlačidiel,Klik,ikony,odozva,Ukazovatele,Drag,Dvojklik,Jednoduchý klik,mapovanie,pre pravákov,pre ľavákov,ukazovacie zariadenie,koliesko myši,emulácia myši,navigácia myši,drag and drop myši,rolovanie myši,citlivosť myši,pohyb myši numerickou klávesnicou,emulácia myši numerickou klávesnicou X-KDE-Keywords[sl]=miška,pospešek miške,prag miške,gumbi miške,miškini gumbi,izbor,oblika kazalca,oblika kazalke,vhodne naprave,preslikava gumbov,klik,ikone,povratne informacije,odziv,kazalci,kazalke,vleka,dvojni klik,dvoklik,enojni klik,preslikava,desničar,levičar,kazalna naprava,kolešček miške,miškin kolešček,posnemanje miške,krmarjenje z miško,vleka in spuščanje z miško,pomikanje z miško,občutljivost miške,miškina občutljivost,premikanje miške s številčnico,posnemanje s številčnico X-KDE-Keywords[sr]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,миш,убрзање миша,праг миша,дугмад миша,избор,облик показивача,облик курсора,улазни уређаји,мапирање дугмади,клик,иконице,одзив,превлачење,двоклик,десноруки,леворуки,показивачки уређај,точкић миша,осетљивост миша,кретање мишем,емулација миша,емулација миша преко нумеричке тастатуре X-KDE-Keywords[sr@ijekavian]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,миш,убрзање миша,праг миша,дугмад миша,избор,облик показивача,облик курсора,улазни уређаји,мапирање дугмади,клик,иконице,одзив,превлачење,двоклик,десноруки,леворуки,показивачки уређај,точкић миша,осетљивост миша,кретање мишем,емулација миша,емулација миша преко нумеричке тастатуре X-KDE-Keywords[sr@ijekavianlatin]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,miš,ubrzanje miša,prag miša,dugmad miša,izbor,oblik pokazivača,oblik kursora,ulazni uređaji,mapiranje dugmadi,klik,ikonice,odziv,prevlačenje,dvoklik,desnoruki,levoruki,pokazivački uređaj,točkić miša,osetljivost miša,kretanje mišem,emulacija miša,emulacija miša preko numeričke tastature X-KDE-Keywords[sr@latin]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,miš,ubrzanje miša,prag miša,dugmad miša,izbor,oblik pokazivača,oblik kursora,ulazni uređaji,mapiranje dugmadi,klik,ikonice,odziv,prevlačenje,dvoklik,desnoruki,levoruki,pokazivački uređaj,točkić miša,osetljivost miša,kretanje mišem,emulacija miša,emulacija miša preko numeričke tastature X-KDE-Keywords[sv]=Mus,Musacceleration,Muströskel,Musknappar,Val,Pekarform,Indataenheter,Knappavbildning,Klick,ikoner,återmatning,Pekare,Dra,Dubbelklick,avbildning,högerhänt,vänsterhänt,pekarenhet,mushjul,musemulering,musnavigering,mus drag och släpp,musrullning,muskänslighet,flytta musen med numeriskt tangentbord,emulering av mus med numeriskt tangentbord X-KDE-Keywords[tr]=Fare,Fare Hızlandırma,Fare Eşiği,Fare Düğmeleri,Seçim,İşaretçi Şekli,Girdi Aygıtları,Düğme Haritalama,Tıklama,simgeler,geri bildirim,İşaretçiler,Sürükle,Çift Tıklama,Tek Tıklama,haritalama,sağlak,solak,İşaretçi Aygıtı,Fare Tekeri,Fare Benzetimi,Fare Gezinmesi,Fare Sürükle Bırak,Fare Kaydırması,Fare Hassasiyeti,Fareyi Sayısal Tuşlarla Hareket Ettir,Fare Sayısal Tuş Benzetimi X-KDE-Keywords[uk]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,DoubleClick,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,миша,прискорення,поріг,порогове значення,кнопка,вибір,вказівник,форма,введення,кнопки,клацання,піктограми,значки,іконки,супровід,вказівники,перетягування,подвійне клацання,відповідність,праворукий,шульга,лівша,пристрій вказівника,коліщатко миші,емуляція миші,імітація миші,навігація за допомогою миші,перетягування зі скиданням мишею,гортання мишею,чутливість миші,миша з цифровою панеллю,емуляція цифрової панелі миші X-KDE-Keywords[x-test]=xxMousexx,xxMouse accelerationxx,xxMouse thresholdxx,xxMouse buttonsxx,xxSelectionxx,xxCursor Shapexx,xxInput Devicesxx,xxButton Mappingxx,xxClickxx,xxiconsxx,xxfeedbackxx,xxPointersxx,xxDragxx,xxDouble Clickxx,xxSingle Clickxx,xxmappingxx,xxright handedxx,xxleft handedxx,xxPointer Devicexx,xxMouse Wheelxx,xxMouse Emulationxx,xxMouse Navigationxx,xxMouse Drag and Dropxx,xxMouse Scrollingxx,xxMouse Sensitivityxx,xxMove Mouse with Num Padxx,xxMouse Num Pad Emulationxx X-KDE-Keywords[zh_CN]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation,鼠标,鼠标加速,鼠标阀值,鼠标按键,选择,光标形状,输入设备,按键映射,点击,图标,反馈,指针,拖拽,双击,映射,右手习惯,左手习惯,光标设备,指针设备,鼠标滚轮,鼠标模拟,鼠标导航,鼠标拖拽,鼠标滚动,鼠标灵敏度,小键盘移动鼠标,小键盘鼠标模拟 X-KDE-Keywords[zh_TW]=Mouse,Mouse acceleration,Mouse threshold,Mouse buttons,Selection,Cursor Shape,Input Devices,Button Mapping,Click,icons,feedback,Pointers,Drag,Double Click,Single Click,mapping,right handed,left handed,Pointer Device,Mouse Wheel,Mouse Emulation,Mouse Navigation,Mouse Drag and Drop,Mouse Scrolling,Mouse Sensitivity,Move Mouse with Num Pad,Mouse Num Pad Emulation Categories=Qt;KDE;X-KDE-settings-hardware; diff --git a/kcms/input/plugin.cpp b/kcms/mouse/plugin.cpp similarity index 100% rename from kcms/input/plugin.cpp rename to kcms/mouse/plugin.cpp diff --git a/kcms/input/plugin.h b/kcms/mouse/plugin.h similarity index 100% rename from kcms/input/plugin.h rename to kcms/mouse/plugin.h