Some more {Set}Mapping() functions.
Now has a Default() method that activates the system default settings. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5957 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -15,15 +15,14 @@
|
|||||||
//
|
//
|
||||||
// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||||
|
|
||||||
#include <Application.h>
|
|
||||||
#include <FindDirectory.h>
|
#include <FindDirectory.h>
|
||||||
#include <File.h>
|
#include <File.h>
|
||||||
#include <Path.h>
|
#include <Path.h>
|
||||||
#include <String.h>
|
#include <View.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "MouseSettings.h"
|
#include "MouseSettings.h"
|
||||||
#include "MouseMessages.h"
|
|
||||||
|
|
||||||
|
|
||||||
// The R5 settings file differs from that of OpenBeOS;
|
// The R5 settings file differs from that of OpenBeOS;
|
||||||
@@ -32,6 +31,11 @@
|
|||||||
|
|
||||||
static const char kMouseSettingsFile[] = "Mouse_settings";
|
static const char kMouseSettingsFile[] = "Mouse_settings";
|
||||||
|
|
||||||
|
static const bigtime_t kDefaultClickSpeed = 500000;
|
||||||
|
static const int32 kDefaultMouseSpeed = 65536;
|
||||||
|
static const int32 kDefaultMouseType = 3; // 3 button mouse
|
||||||
|
static const int32 kDefaultAccelerationFactor = 65536;
|
||||||
|
|
||||||
|
|
||||||
MouseSettings::MouseSettings()
|
MouseSettings::MouseSettings()
|
||||||
{
|
{
|
||||||
@@ -165,6 +169,28 @@ MouseSettings::Dump()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/** Resets the settings to the system defaults
|
||||||
|
*/
|
||||||
|
|
||||||
|
void
|
||||||
|
MouseSettings::Defaults()
|
||||||
|
{
|
||||||
|
SetClickSpeed(kDefaultClickSpeed);
|
||||||
|
SetMouseSpeed(kDefaultMouseSpeed);
|
||||||
|
SetMouseType(kDefaultMouseType);
|
||||||
|
SetAccelerationFactor(kDefaultAccelerationFactor);
|
||||||
|
SetMouseMode(B_NORMAL_MOUSE);
|
||||||
|
|
||||||
|
mouse_map map;
|
||||||
|
if (get_mouse_map(&map) == B_OK) {
|
||||||
|
map.button[0] = B_PRIMARY_MOUSE_BUTTON;
|
||||||
|
map.button[1] = B_SECONDARY_MOUSE_BUTTON;
|
||||||
|
map.button[2] = B_TERTIARY_MOUSE_BUTTON;
|
||||||
|
SetMapping(map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Reverts to the active settings at program startup
|
/** Reverts to the active settings at program startup
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -230,26 +256,34 @@ MouseSettings::SetAccelerationFactor(int32 factor)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
uint32
|
||||||
MouseSettings::Mapping(uint32 &first, uint32 &second, uint32 &third) const
|
MouseSettings::Mapping(int32 index) const
|
||||||
{
|
{
|
||||||
first = fSettings.map.button[0];
|
return fSettings.map.button[index];
|
||||||
second = fSettings.map.button[1];
|
}
|
||||||
third = fSettings.map.button[2];
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MouseSettings::Mapping(mouse_map &map) const
|
||||||
|
{
|
||||||
|
map = fSettings.map;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MouseSettings::SetMapping(int32 index, uint32 button)
|
||||||
|
{
|
||||||
|
fSettings.map.button[index] = button;
|
||||||
|
if (set_mouse_map(&fSettings.map) != B_OK) // message better for syslog?
|
||||||
|
fprintf(stderr, "could not set mouse mapping\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
MouseSettings::SetMapping(uint32 first, uint32 second, uint32 third)
|
MouseSettings::SetMapping(mouse_map &map)
|
||||||
{
|
{
|
||||||
mouse_map map;
|
if (set_mouse_map(&map) == B_OK)
|
||||||
if (get_mouse_map(&map) == B_OK) {
|
fSettings.map = map;
|
||||||
map.button[0] = first;
|
|
||||||
map.button[1] = second;
|
|
||||||
map.button[2] = third;
|
|
||||||
if (set_mouse_map(&map) == B_OK)
|
|
||||||
fSettings.map = map;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class MouseSettings {
|
|||||||
~MouseSettings();
|
~MouseSettings();
|
||||||
|
|
||||||
void Revert();
|
void Revert();
|
||||||
|
void Defaults();
|
||||||
void Dump();
|
void Dump();
|
||||||
|
|
||||||
BPoint WindowPosition() const { return fWindowPosition; }
|
BPoint WindowPosition() const { return fWindowPosition; }
|
||||||
@@ -62,8 +63,10 @@ class MouseSettings {
|
|||||||
int32 AccelerationFactor() const { return fSettings.accel.accel_factor; }
|
int32 AccelerationFactor() const { return fSettings.accel.accel_factor; }
|
||||||
void SetAccelerationFactor(int32 factor);
|
void SetAccelerationFactor(int32 factor);
|
||||||
|
|
||||||
void Mapping(uint32 &first, uint32 &second, uint32 &third) const;
|
uint32 Mapping(int32 index) const;
|
||||||
void SetMapping(uint32 first, uint32 second, uint32 third);
|
void Mapping(mouse_map &map) const;
|
||||||
|
void SetMapping(int32 index, uint32 button);
|
||||||
|
void SetMapping(mouse_map &map);
|
||||||
|
|
||||||
mode_mouse MouseMode() const { return fMode; }
|
mode_mouse MouseMode() const { return fMode; }
|
||||||
void SetMouseMode(mode_mouse mode);
|
void SetMouseMode(mode_mouse mode);
|
||||||
|
|||||||
Reference in New Issue
Block a user