link specific websites on Radial menus

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
Grayhead
Posts: 4
Joined: Thu Mar 21, 2024 7:42 am

link specific websites on Radial menus

Post by Grayhead »

Hello. I have the keyboard which has 12 keys for menu use. I am setting up the radial menus for use while drawing. I have several websites I use for my work. I cannot figure out how to quick link them in the radial menus. I can set Chrome as a selection, but have not figured out how to set linked web sites. Any help would be appreciated.
jwick
Moderator
Moderator
Posts: 3417
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: link specific websites on Radial menus

Post by jwick »

The GUI (3DxSmartUI) can only help you with part of this. You will need to edit XML files.
You will probably need my help with that XML editing.

You need to create ButtonActions with all the details to open the URLs. Once you do that, you can use the GUI to create Radial Menus, fill them with these ButtonActions, and assign them to buttons on your device.

You can create these ButtonActions in app-specific cfg files, or in a global location so they are available all the time.
For the global location, use your favorite XML editor (e.g., notepad++) to open %appdata%\3Dconnexion\3DxWare\Cfg\Global.xml.
Add these lines after the </Settings> element. This assumes you don't have a <ButtonActions> section in there already):

Code: Select all

<ButtonActions>
    <ButtonAction Type="ShellExecuteEx">
      <ID>SE_Open_Google_com</ID>
      <Name>Google.com</Name>
      <ShellExecuteInfo>
	     <Mask>00</Mask>
	     <Verb>open</Verb>
	     <File>http://www.google.com</File> 
	     <Parameters></Parameters>
	     <Directory></Directory>
	     <Show>1</Show>
	     <Class>http</Class>
	  </ShellExecuteInfo>
    </ButtonAction>
    <ButtonAction Type="ShellExecuteEx">
      <ID>SE_Open_3Dconnexion_com</ID>
      <Name>3Dconnexion.com</Name>
      <ShellExecuteInfo>
	     <Mask>00</Mask>
	     <Verb>open</Verb>
	     <File>http://www.3Dconnexion.com</File> 
	     <Parameters></Parameters>
	     <Directory></Directory>
	     <Show>1</Show>
	     <Class>http</Class>
	  </ShellExecuteInfo>
    </ButtonAction> 
</ButtonActions>
Given this global location, you should now see "google.com" and "3Dconnexion.com" in 3DxSmartUI, under the 3Dconnexion category, when assigning Actions to buttons/sections of a RadialMenu. If you want to make these app-specific, add the ButtonActions to the cfg file for that app.

You can make as many of these URL ButtonActions as you like, changing the <ID>, <Name> and <File> values.
Grayhead
Posts: 4
Joined: Thu Mar 21, 2024 7:42 am

Re: link specific websites on Radial menus

Post by Grayhead »

Thanks for the reply and sorry so long in getting back. I am no0t versed enough for what you are showing below. I would definately need more guidance with that. Also linking file loctions would be a big plus for me. Im suprised you tube isnt loaded with videos for programing like this. Thanks for any help
jwick
Moderator
Moderator
Posts: 3417
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: link specific websites on Radial menus

Post by jwick »

PM or email me the list of sites/directories you want linked.

Include the Global.xml file from:
%APPDATA%\3Dconnexion\3DxWare\Cfg
(type that into windows explorer to get to the directory)
Grayhead
Posts: 4
Joined: Thu Mar 21, 2024 7:42 am

Re: link specific websites on Radial menus

Post by Grayhead »

https://up.codes/home
https://bcpp.brunswickcountync.gov/
https://www.brunswickcountync.gov/318/G ... ystems-GIS
https://library.municode.com/nc
https://www.youtube.com/@rabbittdesign8482

There may be a few more I need to add later. I added %APPDATA%\3Dconnexion\3DxWare\Cfg into the directory and did a search. It did not show any results.
jwick
Moderator
Moderator
Posts: 3417
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: link specific websites on Radial menus

Post by jwick »

Let's take this off-line. I'll send you an email.
jwick
Moderator
Moderator
Posts: 3417
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: link specific websites on Radial menus

Post by jwick »

Here is an example of opening a lot of URLs, and a path from a Radial menu.

In a user's Global.xml (in %appdata%\3Dconnexion\3DxWare\Cfg\):

Add

Code: Select all

  <ButtonActions>
  	    <ButtonAction Type="ShellExecuteEx">
		  <ID>SE_Open_Projects</ID>
		  <Name>Projects</Name>
		  <ShellExecuteInfo><Verb>Open</Verb><File>c:/tmp</File></ShellExecuteInfo>
		</ButtonAction>
	    <ButtonAction Type="ShellExecuteEx">
		  <ID>SE_Open_3dwarehouse</ID>
		  <Name>3dwarehouse</Name>
		  <ShellExecuteInfo><Verb>Open</Verb><File>https://3dwarehouse.sketchup.com/</File></ShellExecuteInfo>
		</ButtonAction>
	    <ButtonAction Type="ShellExecuteEx">
		  <ID>SE_Open_upcodes</ID>
		  <Name>up.codes</Name>
		  <ShellExecuteInfo><Verb>Open</Verb><File>https://up.codes/home</File></ShellExecuteInfo>
		</ButtonAction>
	    <ButtonAction Type="ShellExecuteEx">
		  <ID>SE_Open_brunswickcounty</ID>
		  <Name>Brunswick Cty</Name>
		  <ShellExecuteInfo><Verb>Open</Verb><File>https://bcpp.brunswickcountync.gov/</File></ShellExecuteInfo>
		</ButtonAction>
	    <ButtonAction Type="ShellExecuteEx">
		  <ID>SE_Open_brunswickcounty_GIS</ID>
		  <Name>Brunswick GIS</Name>
		  <ShellExecuteInfo><Verb>Open</Verb><File>https://www.brunswickcountync.gov/318/G ... ystems-GIS</File></ShellExecuteInfo>
		</ButtonAction>
	    <ButtonAction Type="ShellExecuteEx">
		  <ID>SE_Open_municode</ID>
		  <Name>Municode</Name>
		  <ShellExecuteInfo><Verb>Open</Verb><File>https://library.municode.com/nc</File></ShellExecuteInfo>
		</ButtonAction>
	    <ButtonAction Type="ShellExecuteEx">
		  <ID>SE_Open_RabbitDesign</ID>
		  <Name>RabbitDesign</Name>
		  <ShellExecuteInfo><Verb>Open</Verb><File>https://www.youtube.com/@rabbittdesign8482</File></ShellExecuteInfo>
		</ButtonAction>
		<ButtonAction Type="Exe">
			<ID>EXE_Start_Notepad</ID>
			<Name>Notepad</Name>
			<Image>
				<Source>[driver_images:notepad.png]</Source>
			</Image>
			<Executable>NOTEPAD.EXE</Executable>
			<Arg>None</Arg>
		</ButtonAction>

		<ButtonAction Type="Menu">
		  <ID>RadialMenu_OpenDirs</ID>
		  <Name>Open Dir Menu</Name>
		  <Image>
			<Source>[driver_images:HIDMouse_RadialMenu.png]</Source>
		  </Image>
		  <MenuID>Menu_OpenDirs</MenuID>
		</ButtonAction>
  </ButtonActions>
  
  <Menus>
    <Executable>3DxPieMenus.exe</Executable>

    <Menu Type="Radial">
      <ID>Menu_OpenDirs</ID>
      <Name>OpenDirs Menu</Name>
      <GesturesEnabled>true</GesturesEnabled>
      <Style>EightButton</Style>
      <Button>
        <Input>
          <ActionID>MenuButton_1</ActionID>
        </Input>
        <Output>
          <ActionID>SE_Open_Projects</ActionID>
        </Output>
      </Button>
      <Button>
        <Input>
          <ActionID>MenuButton_2</ActionID>
        </Input>
        <Output>
          <ActionID>SE_Open_3dwarehouse</ActionID>
        </Output>
      </Button>
      <Button>
        <Input>
          <ActionID>MenuButton_3</ActionID>
        </Input>
        <Output>
          <ActionID>SE_Open_upcodes</ActionID>
        </Output>
      </Button>
      <Button>
        <Input>
          <ActionID>MenuButton_4</ActionID>
        </Input>
        <Output>
          <ActionID>SE_Open_brunswickcounty</ActionID>
        </Output>
      </Button>
      <Button>
        <Input>
          <ActionID>MenuButton_5</ActionID>
        </Input>
        <Output>
          <ActionID>SE_Open_brunswickcounty_GIS</ActionID>
        </Output>
      </Button>
      <Button>
        <Input>
          <ActionID>MenuButton_6</ActionID>
        </Input>
        <Output>
          <ActionID>SE_Open_municode</ActionID>
        </Output>
      </Button>
      <Button>
        <Input>
          <ActionID>MenuButton_7</ActionID>
        </Input>
        <Output>
          <ActionID>SE_Open_RabbitDesign</ActionID>
        </Output>
      </Button>
      <Button>
        <Input>
          <ActionID>MenuButton_8</ActionID>
        </Input>
        <Output>
          <ActionID>Macro_Undo</ActionID>
        </Output>
      </Button>
    </Menu>
  </Menus>

  <Devices>
    <Device>
      <ID>ID_ProductID_C668</ID>
      <ButtonBank Default="true">
        <ID>Default</ID>
        <Name>STR_DEFAULT_BUTTONBANK</Name>
        <InheritsFromID/>
        <Enabled>true</Enabled>
        <Shared>false</Shared>
        <Button>
          <Input>
            <ActionID>V3DX_F1</ActionID>
          </Input>
          <Output>
            <ActionID>RadialMenu_OpenDirs</ActionID>
          </Output>
        </Button>
	  </ButtonBank>
    </Device>
  </Devices>
The details are:
1) New ButtonActions to 1) open a directory, 2) open some web pages, 3) to open Notepad (as another example)
2) A new ButtonAction to open the new RadialMenu.
3) The definition of the new RadialMenu, with slices to open the directory and web pages (plus another default Action)
4) That new RadialMenu is assigned to the “1” button on the KeyboardPro (ID_ProductID_C668)

To open more directories, or web pages, make new ButtonActions with unique ID/Names, using different paths. Then add them to other MenuButton_# Buttons. You can add more 4 or 8 slice RadialMenus as needed, and add new RadialMenus to assign to other Device buttons.

These assignments are global overrides. They will be used regardless of which application is in focus. To make them specific to a single application, these need go somewhere else.
Our GUI doesn’t understand these Global settings. It won’t show the correct assignments. To make changes you need to change the Global.xml file. I’ll help as needed.
If you make them application-specific, our GUI is much more useful for making changes.
Post Reply