From 471d7061ad628fcac1e933c92aa7257c0df49b9f Mon Sep 17 00:00:00 2001 From: Murray Stokely Date: Sat, 8 Apr 2000 03:04:32 +0000 Subject: [PATCH] PR: 17559 Approved by: jkh You can't enable 'emulate 3 button' option for moused in sysinstall. This adds a menu option to set moused_flags and the help text explains that entering "-3" will enable this feature. --- release/sysinstall/menus.c | 4 +++- release/sysinstall/mouse.c | 19 ++++++++++++++++++- release/sysinstall/sysinstall.h | 2 ++ usr.sbin/sade/menus.c | 4 +++- usr.sbin/sade/sade.h | 2 ++ usr.sbin/sysinstall/menus.c | 4 +++- usr.sbin/sysinstall/mouse.c | 19 ++++++++++++++++++- usr.sbin/sysinstall/sysinstall.h | 2 ++ 8 files changed, 51 insertions(+), 5 deletions(-) diff --git a/release/sysinstall/menus.c b/release/sysinstall/menus.c index 69c9822a30f..9e005701751 100644 --- a/release/sysinstall/menus.c +++ b/release/sysinstall/menus.c @@ -426,7 +426,9 @@ DMenu MenuMouse = { { "2 Enable", "Test and run the mouse daemon", NULL, mousedTest, NULL, NULL }, { "3 Type", "Select mouse protocol type", NULL, dmenuSubmenu, NULL, &MenuMouseType }, { "4 Port", "Select mouse port", NULL, dmenuSubmenu, NULL, &MenuMousePort }, - { "5 Disable", "Disable the mouse daemon", NULL, mousedDisable, NULL, NULL }, + { "5 Flags", "Set additional flags", dmenuVarCheck, setMouseFlags, + NULL, VAR_MOUSED_FLAGS "=" }, + { "6 Disable", "Disable the mouse daemon", NULL, mousedDisable, NULL, NULL }, { NULL } }, }; diff --git a/release/sysinstall/mouse.c b/release/sysinstall/mouse.c index 2eec6be8e95..0d23a2893ce 100644 --- a/release/sysinstall/mouse.c +++ b/release/sysinstall/mouse.c @@ -37,10 +37,12 @@ mousedTest(dialogMenuItem *self) { char *type; char *port; + char *flags; int ret; type = variable_get(VAR_MOUSED_TYPE); port = variable_get(VAR_MOUSED_PORT); + flags = variable_get(VAR_MOUSED_FLAGS); if ((type == NULL) || (port == NULL) || (strlen(type) <= 0) || (strlen(port) <= 0) || (strcmp(type, "NO") == 0)) { @@ -52,7 +54,7 @@ mousedTest(dialogMenuItem *self) if (file_readable("/var/run/moused.pid")) vsystem("kill `cat /var/run/moused.pid`"); systemExecute("vidcontrol -m on"); - vsystem("moused -t %s -p %s", type, port); + vsystem("moused -t %s -p %s %s", type, port, flags); ret = msgYesNo("Now move the mouse and see if it works.\n" "(Note that buttons don't have any effect for now.)\n\n" @@ -78,6 +80,21 @@ mousedDisable(dialogMenuItem *self) variable_set2(VAR_MOUSED, "NO", 1); variable_set2(VAR_MOUSED_TYPE, "NO", 1); variable_unset(VAR_MOUSED_PORT); + variable_unset(VAR_MOUSED_FLAGS); msgConfirm("The mouse daemon is disabled."); return DITEM_SUCCESS; } + +int +setMouseFlags(dialogMenuItem *self) +{ + int ret; + ret = variable_get_value(VAR_MOUSED_FLAGS, + "Please Specify the mouse daemon flags. If you would like to\n" + "emulate 3 buttons, use -3 here.\n", 1) + ? DITEM_SUCCESS : DITEM_FAILURE; + if (ret != DITEM_SUCCESS) + variable_unset(VAR_MOUSED_FLAGS); + return ret; +} + diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h index e4a3fc1261e..815ca4a9001 100644 --- a/release/sysinstall/sysinstall.h +++ b/release/sysinstall/sysinstall.h @@ -130,6 +130,7 @@ #define VAR_MEDIA_TYPE "mediaType" #define VAR_MEDIA_TIMEOUT "MEDIA_TIMEOUT" #define VAR_MOUSED "moused_enable" +#define VAR_MOUSED_FLAGS "moused_flags" #define VAR_MOUSED_PORT "moused_port" #define VAR_MOUSED_TYPE "moused_type" #define VAR_NAMESERVER "nameserver" @@ -660,6 +661,7 @@ extern char *sstrncpy(char *dst, const char *src, int size); /* mouse.c */ extern int mousedTest(dialogMenuItem *self); extern int mousedDisable(dialogMenuItem *self); +extern int setMouseFlags(dialogMenuItem *self); /* msg.c */ extern Boolean isDebug(void); diff --git a/usr.sbin/sade/menus.c b/usr.sbin/sade/menus.c index 69c9822a30f..9e005701751 100644 --- a/usr.sbin/sade/menus.c +++ b/usr.sbin/sade/menus.c @@ -426,7 +426,9 @@ DMenu MenuMouse = { { "2 Enable", "Test and run the mouse daemon", NULL, mousedTest, NULL, NULL }, { "3 Type", "Select mouse protocol type", NULL, dmenuSubmenu, NULL, &MenuMouseType }, { "4 Port", "Select mouse port", NULL, dmenuSubmenu, NULL, &MenuMousePort }, - { "5 Disable", "Disable the mouse daemon", NULL, mousedDisable, NULL, NULL }, + { "5 Flags", "Set additional flags", dmenuVarCheck, setMouseFlags, + NULL, VAR_MOUSED_FLAGS "=" }, + { "6 Disable", "Disable the mouse daemon", NULL, mousedDisable, NULL, NULL }, { NULL } }, }; diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h index e4a3fc1261e..815ca4a9001 100644 --- a/usr.sbin/sade/sade.h +++ b/usr.sbin/sade/sade.h @@ -130,6 +130,7 @@ #define VAR_MEDIA_TYPE "mediaType" #define VAR_MEDIA_TIMEOUT "MEDIA_TIMEOUT" #define VAR_MOUSED "moused_enable" +#define VAR_MOUSED_FLAGS "moused_flags" #define VAR_MOUSED_PORT "moused_port" #define VAR_MOUSED_TYPE "moused_type" #define VAR_NAMESERVER "nameserver" @@ -660,6 +661,7 @@ extern char *sstrncpy(char *dst, const char *src, int size); /* mouse.c */ extern int mousedTest(dialogMenuItem *self); extern int mousedDisable(dialogMenuItem *self); +extern int setMouseFlags(dialogMenuItem *self); /* msg.c */ extern Boolean isDebug(void); diff --git a/usr.sbin/sysinstall/menus.c b/usr.sbin/sysinstall/menus.c index 69c9822a30f..9e005701751 100644 --- a/usr.sbin/sysinstall/menus.c +++ b/usr.sbin/sysinstall/menus.c @@ -426,7 +426,9 @@ DMenu MenuMouse = { { "2 Enable", "Test and run the mouse daemon", NULL, mousedTest, NULL, NULL }, { "3 Type", "Select mouse protocol type", NULL, dmenuSubmenu, NULL, &MenuMouseType }, { "4 Port", "Select mouse port", NULL, dmenuSubmenu, NULL, &MenuMousePort }, - { "5 Disable", "Disable the mouse daemon", NULL, mousedDisable, NULL, NULL }, + { "5 Flags", "Set additional flags", dmenuVarCheck, setMouseFlags, + NULL, VAR_MOUSED_FLAGS "=" }, + { "6 Disable", "Disable the mouse daemon", NULL, mousedDisable, NULL, NULL }, { NULL } }, }; diff --git a/usr.sbin/sysinstall/mouse.c b/usr.sbin/sysinstall/mouse.c index 2eec6be8e95..0d23a2893ce 100644 --- a/usr.sbin/sysinstall/mouse.c +++ b/usr.sbin/sysinstall/mouse.c @@ -37,10 +37,12 @@ mousedTest(dialogMenuItem *self) { char *type; char *port; + char *flags; int ret; type = variable_get(VAR_MOUSED_TYPE); port = variable_get(VAR_MOUSED_PORT); + flags = variable_get(VAR_MOUSED_FLAGS); if ((type == NULL) || (port == NULL) || (strlen(type) <= 0) || (strlen(port) <= 0) || (strcmp(type, "NO") == 0)) { @@ -52,7 +54,7 @@ mousedTest(dialogMenuItem *self) if (file_readable("/var/run/moused.pid")) vsystem("kill `cat /var/run/moused.pid`"); systemExecute("vidcontrol -m on"); - vsystem("moused -t %s -p %s", type, port); + vsystem("moused -t %s -p %s %s", type, port, flags); ret = msgYesNo("Now move the mouse and see if it works.\n" "(Note that buttons don't have any effect for now.)\n\n" @@ -78,6 +80,21 @@ mousedDisable(dialogMenuItem *self) variable_set2(VAR_MOUSED, "NO", 1); variable_set2(VAR_MOUSED_TYPE, "NO", 1); variable_unset(VAR_MOUSED_PORT); + variable_unset(VAR_MOUSED_FLAGS); msgConfirm("The mouse daemon is disabled."); return DITEM_SUCCESS; } + +int +setMouseFlags(dialogMenuItem *self) +{ + int ret; + ret = variable_get_value(VAR_MOUSED_FLAGS, + "Please Specify the mouse daemon flags. If you would like to\n" + "emulate 3 buttons, use -3 here.\n", 1) + ? DITEM_SUCCESS : DITEM_FAILURE; + if (ret != DITEM_SUCCESS) + variable_unset(VAR_MOUSED_FLAGS); + return ret; +} + diff --git a/usr.sbin/sysinstall/sysinstall.h b/usr.sbin/sysinstall/sysinstall.h index e4a3fc1261e..815ca4a9001 100644 --- a/usr.sbin/sysinstall/sysinstall.h +++ b/usr.sbin/sysinstall/sysinstall.h @@ -130,6 +130,7 @@ #define VAR_MEDIA_TYPE "mediaType" #define VAR_MEDIA_TIMEOUT "MEDIA_TIMEOUT" #define VAR_MOUSED "moused_enable" +#define VAR_MOUSED_FLAGS "moused_flags" #define VAR_MOUSED_PORT "moused_port" #define VAR_MOUSED_TYPE "moused_type" #define VAR_NAMESERVER "nameserver" @@ -660,6 +661,7 @@ extern char *sstrncpy(char *dst, const char *src, int size); /* mouse.c */ extern int mousedTest(dialogMenuItem *self); extern int mousedDisable(dialogMenuItem *self); +extern int setMouseFlags(dialogMenuItem *self); /* msg.c */ extern Boolean isDebug(void);