Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
5c87cb1
TabletButtonHandling(feat): New editing button control window impleme…
Shoko84 Mar 16, 2018
1345822
TabletButtonHandling(feat): Button number displayed on screen variable
Shoko84 Mar 16, 2018
b3dbf7e
TabletButtonHandling(feat): Started button mapping with shortcuts
Shoko84 Mar 16, 2018
4bcc71d
TabletButtonHandling(fix); Files not being added into the project
Shoko84 Mar 16, 2018
b7256a1
Statusbar warning and process priority watchdog
hawku Mar 16, 2018
92da067
Readme
hawku Mar 17, 2018
5dce35f
Readme
hawku Mar 17, 2018
4cce199
V0.0.16
hawku Mar 17, 2018
dec74be
Huion/Gaomon fix
hawku Mar 17, 2018
bad0d13
v0.0.17
hawku Mar 17, 2018
ee119af
Prevent multiple TabletDriverServices
hawku Mar 18, 2018
e574520
Yet another Wacom 490 click fix
hawku Mar 18, 2018
63ddbd7
v0.0.18
hawku Mar 18, 2018
7424305
Readme
hawku Mar 18, 2018
c3945b9
TabletButtonHandling(feat): Shortcut window modal done
Shoko84 Mar 19, 2018
911056d
Tablet benchmark
hawku Mar 19, 2018
2b6994a
Run and --hide at Window startup
hawku Mar 19, 2018
632e3fe
v0.1.0
hawku Mar 19, 2018
143d16e
Update README.md
hawku Mar 20, 2018
3b413ac
Update README.md
hawku Mar 20, 2018
50d6405
TabletButtonHandling(feat): First approach sending shortcut macro
Shoko84 Mar 20, 2018
1c6ca87
TabletButtonHandling(feat): GUI part done + sending correct informati…
Shoko84 Mar 21, 2018
fb5d1ff
Merge branch 'master' into TabletButtonHandling
Shoko84 Mar 21, 2018
6ffefd0
TabletButtonHandling(feat/fix): Added shortcut functionnality and fix…
Shoko84 Mar 22, 2018
bfae0c2
TabletButtonHandling(refactor): Simplifying code when converting into…
Shoko84 Mar 22, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 54 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,30 @@
# TabletDriver

Currently the driver only works when the TabletDriverGUI is running.

The GUI minimizes to system tray / notification area.
This is a low latency graphics tablet driver that is meant to be used with rhythm game [osu!](https://osu.ppy.sh/home)

You can reopen the GUI by double clicking the system tray icon.
Currently the driver only works when the TabletDriverGUI is running.

 
The GUI minimizes to system tray / notification area. You can reopen the GUI by double clicking the system tray icon.

**If you have problems with the driver, please read the FAQ:**

**https://github.com/hawku/TabletDriver/wiki/FAQ**

## Download

### http://hwk.fi/TabletDriver/TabletDriverV0.1.0.zip

#

#### Supported tablets:
### Supported operating systems:
- Windows 7 64-bit
- Windows 8 64-bit
- Windows 8.1 64-bit
- Windows 10 64-bit

#

### Supported tablets:
- Wacom CTL-470
- Wacom CTL-471
- Wacom CTL-472
Expand All @@ -27,7 +37,7 @@ You can reopen the GUI by double clicking the system tray icon.
- Huion H640P
- Gaomon S56K

#### Configured, but not properly tested:
### Configured, but not properly tested:
- Huion H420
- Wacom CTH-470
- Wacom CTH-670
Expand All @@ -38,36 +48,32 @@ You can reopen the GUI by double clicking the system tray icon.
- Wacom CTH-490
- Wacom PTH-451


#

#### Download

* http://hwk.fi/TabletDriver/TabletDriverV0.0.15.zip

#

#### Install
## Installation

1. You might need to install these libraries, but usually these are already installed:
* https://aka.ms/vs/15/release/vc_redist.x86.exe
* https://aka.ms/vs/15/release/vc_redist.x64.exe
* https://www.microsoft.com/en-us/download/details.aspx?id=53587 (x64 and x86)
* https://www.microsoft.com/net/download/dotnet-framework-runtime
* https://aka.ms/vs/15/release/vc_redist.x86.exe

2. Unzip the driver to a folder (Shorter path is recommended, for example C:\Temp\TabletDriver)
2. Unzip the driver to a folder (Shorter path is recommended, for example `C:\Temp\TabletDriver`)
3. Uninstall all other tablet drivers.
4. Run "install_vmulti_driver.bat". It might need a restart if there is another vmulti driver installed.
5. If you have Huion or Gaomon tablet, you need to run "install_huion_64.bat", which is located at the "driver_huion" directory.
4. Run `install_vmulti_driver.bat`. It might need a restart if there is another vmulti driver installed.
5. If you have Huion or Gaomon tablet, you need to run `install_huion_64.bat`, which is in the `driver_huion` directory.
6. Start the TabletDriverGUI.exe

## Updating to a new version
1. Unzip the new version
2. Start the TabletDriverGUI.exe

#### Uninstall
1. Run "remove_vmulti_driver.bat"
2. Run "remove_huion_64.bat", which is located at the "driver_huion" directory.
## Uninstallation
1. Uncheck the "Run at Windows startup" option in the GUI.
2. Run `remove_vmulti_driver.bat`
3. Run `remove_huion_64.bat`, which is in the `driver_huion` directory.

#

#### VMulti and Huion drivers
## VMulti and Huion driver binaries

If you want to compile the code and don't want to install anything from the TabletDriver binary package, you will need extract the missing drivers from these installation packages:

Expand All @@ -79,7 +85,29 @@ If you want to compile the code and don't want to install anything from the Tabl

#

#### Changelog
## Changelog

>**v0.1.0:**
> - Added `Bench` / `Benchmark` command.
> - Added `-hide` GUI command line parameter. GUI will start as minimized when you run `TabletDriverGUI.exe -hide`
> - Added an option to run the TabletDriverGUI at Windows startup.

>**v0.0.18:**
> - Added TabletDriverService.exe multi-instance prevention.
> - Added yet another Wacom 490 tip click fix.
> `KeepTipDown` command sets how long the pen tip button output should be kept down after the pen tip is released.

>**v0.0.17:**
> - Fixed driver crashing when used with the Huion or Gaomon tablets.

>**v0.0.16:**
> - Added smoothing filter rate selector. Use a lower rate if you have filter performance problems.
> - Added TabletDriverService.exe process priority warning when the priority isn't set to High.
> - Desktop size settings are now available to everyone.
> Previously shown only when the developer mode was enabled.
> Automatic size should be used, but if you have problems with the screen mapping:
> https://github.com/hawku/TabletDriver/issues/4
> - First few tablet position packets are now ignored to prevent the cursor jumping to a wrong position when driver is started.

>**v0.0.15:**
> - Added more debug information to startuplog.txt. It now includes a list of connected input devices.
Expand Down
28 changes: 28 additions & 0 deletions TabletDriverGUI/App.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Threading;
Expand All @@ -21,6 +22,33 @@ public App()
instanceMutex = new Mutex(true, "Local\\" + InstanceGuid.ToString());
if (instanceMutex.WaitOne(TimeSpan.Zero, true))
{

//
// Kill old TabletDriverService.exe instances
//
Process[] processes = Process.GetProcessesByName("TabletDriverService");
foreach (Process process in processes)
{
if (process.ProcessName == "TabletDriverService")
{
try
{
process.Kill();
}
catch (Exception)
{
MessageBox.Show(
"You have another TabletDriverService.exe running in the background. " +
"Please shutdown that before starting the GUI!",
"Error!", MessageBoxButton.OK, MessageBoxImage.Error
);
instanceMutex.ReleaseMutex();
Shutdown();
return;
}
}
}

MainWindow mainWindow = new MainWindow();
mainWindow.Show();
Exit += App_Exit;
Expand Down
40 changes: 40 additions & 0 deletions TabletDriverGUI/ButtonMapping.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<Window x:Class="TabletDriverGUI.ButtonMapping"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TabletDriverGUI"
mc:Ignorable="d"
Title="ButtonMapping" Height="380" Width="350" ResizeMode="NoResize">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20*"/>
<RowDefinition Height="65*"/>
<RowDefinition Height="15*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Vertical" Margin="12">
<CheckBox Name="CheckBoxDisablePenButtons" Content="Disable pen buttons"
Checked="CheckBoxDisablePenButtons_Checked" Unchecked="CheckBoxDisablePenButtons_Unchecked"/>
<CheckBox Name="CheckBoxDisableTabletButtons" Margin="0,7,0,0"
Content="Disable tablet buttons" Checked="CheckBoxDisableTabletButtons_Checked" Unchecked="CheckBoxDisableTabletButtons_Unchecked"/>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Name="PenButtonsContainer" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<GroupBox Header="Pen tip" VerticalAlignment="Top" HorizontalAlignment="Left" Width="90">
<ComboBox Name="PenTipComboBox" />
</GroupBox>
<GroupBox Header="Pen bottom" VerticalAlignment="Top" HorizontalAlignment="Left" Width="90">
<ComboBox Name="PenBottomComboBox" />
</GroupBox>
<GroupBox Header="Pen top" VerticalAlignment="Top" HorizontalAlignment="Left" Width="90">
<ComboBox Name="PenTopComboBox" />
</GroupBox>
</StackPanel>
<StackPanel Name="TabletButtonsContainer" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Name="ButtonSet" Content="Set" Width="60" Height="30" Click="ButtonSet_Click"/>
<Button Name="ButtonCancel" Margin="35,0,0,0" Width="60" Height="30" Content="Cancel" Click="ButtonCancel_Click" />
</StackPanel>
</Grid>
</Window>
Loading