T7 Wired Gaming Mouse Driver Download

Buy this gaming mouse cheap on Amazon with this link: If you don't have a CD-ROM.

T7 Wired Gaming Mouse Driver Download
README.md
wgmt1.py
#!/usr/bin/env python
''
Script to control the
Easterntimes Tech
Wired Gaming Mouse T1
via PyUSB.
''
import sys, argparse, textwrap, logging
import usb.core, usb.util
logger = logging.getLogger(name=__name__)
classWiredGamingMouseT1(object):
idVendor =0x04d9
idProduct =0xfc07
brightness_map = {'bright': 3, 'medium': 2, 'dim': 1, 'off': 0}
breathing_map = {'fast': 1, 'medium': 3, 'slow': 6, 'off': 0}
def__init__(self):
# Device Initialization
dev = usb.core.find(idVendor=self.idVendor, idProduct=self.idProduct)
try:
if dev.is_kernel_driver_active(2):
dev.detach_kernel_driver(2)
except usb.core.USBError as e:
msg =''
Could not interact with the device. This tool needs to be run as root
or you need to set the right permissions on the usb device:
sudo chmod 666 /dev/bus/usb/{bus:03d}/{address:03d}
Or you can let udev configure the permissions automatically by putting this rule:
SUBSYSTEM'usb', ATTR{{idVendor}}'04d9', ATTR{{idProduct}}'fc07', MODE='0666', SYMLINK+='wgmt1'
into the file /etc/udev/rules.d/99-wgmt1.rules.
''
sys.exit(textwrap.dedent(msg.format(bus=dev.bus, address=dev.address)))
usb.util.claim_interface(dev, 2)
self.dev = dev
defsend_ctrl_msg(self, data, big=False):
logger.debug('sending: '+repr(data))
val =0x0303if big else0x0302
self.dev.ctrl_transfer(0x21, 9, val, 2, data)
defset_color(self, rgb, brightness='bright', breathing='off'):
'' send a URB message via PyUSB and change the LED color ''
r, g, b = (255- col for col in rgb)
brightness, breathing =self.sanitize_brightness_breathing(brightness, breathing)
msg =bytes([0x2, 0x4, r, g, b, brightness, breathing, 0, 0, 0, 0, 0, 0, 0, 0, 0])
self.send_ctrl_msg(msg)
defset_profile(self, profile):
'' send a URB message via PyUSB and change the profile ''
assert profile inrange(0, 5)
msg =bytes([2,2,0x43,0,1,0,0xfa,0xfa,profile,0,0,0,0,0,0,0])
self.send_ctrl_msg(msg)
msg =bytes([2,1,1,profile,0,0,0,0,0,0,0,0,0,0,0,0])
self.send_ctrl_msg(msg)
defset_cpi(self, profile, cpi_steps):
''
cpi_steps must be an iterable of length 5
each consisting of a number going from 0 to 16
''
assertlen(cpi_steps) 5
msg = [3,2,0x4f,2,0x2a,0,0xfa,0xfa,5,profile]
for cpi_step in cpi_steps:
if cpi_step inrange(0, 17):
enable =1
else:
enable =0
cpi_step =0
msg += [enable,cpi_step,0,cpi_step,0,0,0,0]
msg += [0] *14
msg =bytes(msg)
self.send_ctrl_msg(msg, big=True)
logger.info('You need to switch to the profile now to enable the new settings.')
defsanitize_brightness_breathing(self, brightness, breathing):
iftype(brightness) str:
brightness =self.brightness_map[brightness]
iftype(breathing) str:
breathing =self.breathing_map[breathing]
assert brightness in (0,1,2,3)
assert breathing in (0,1,3,6)
return brightness, breathing
defset_brightness_breathing(self, profile, brightness, breathing):
''''
brightness, breathing =self.sanitize_brightness_breathing(brightness, breathing)
msg =bytes([2,2,0xf1,profile,6,0,0xfa,0xfa,0xf1,0xf0,0,brightness,breathing,0,0,0])
logger.debug('Sending this now: '+repr(msg))
self.send_ctrl_msg(msg)
logger.info('You need to switch to the profile now to enable the new settings.')
defcpi_steps(string):
''
argparse type definition to enter CPI steps.
''
try:
steps = [int(part) for part in string.split(',')]
assertlen(steps) 5
return steps
except:
raise argparse.ArgumentTypeError('Not a proper CPI steps value.')
defhex_rgb(string):
''
argparse type definition to enter RGB
values as a 3- or 6- digit hex number
''
try:
iflen(string) 3:
string = string[0] *2+ string[1] *2+ string[2] *2
assertlen(string) 6
r, g, b = string[0:2], string[2:4], string[4:6]
return (int(col, 16) for col in (r, g, b))
except:
raise argparse.ArgumentTypeError('Not a proper RGB hex value.')
defmain():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--debug', action='store_true')
profile_parser = argparse.ArgumentParser(add_help=False)
profile_parser.add_argument('profile', type=int, choices=range(0,5), help='Profile')
subparsers = parser.add_subparsers(dest='action', metavar='<action>', help='Action to perform:')
# set-color
action_desc ='Set the LED color of the mouse'
set_color_parser = subparsers.add_parser('col',
description=action_desc, help=action_desc)
set_color_parser.add_argument('color', type=hex_rgb, metavar='RRGGBB', help='New LED color')
set_color_parser.add_argument('--brightness', choices=WiredGamingMouseT1.brightness_map.keys(), default='bright', help='Brightness')
set_color_parser.add_argument('--breathing', choices=WiredGamingMouseT1.breathing_map.keys(), default='off', help='Breathing')
# switch-profile
action_desc ='Switch to a different mouse profile'
switch_profile_parser = subparsers.add_parser('sp',
description=action_desc, parents=[profile_parser], help=action_desc)
# cpi-steps
action_desc ='Set the CPI (counts-per-inch) steps'
switch_profile_parser = subparsers.add_parser('cs',
description=action_desc, parents=[profile_parser], help=action_desc)
switch_profile_parser.add_argument('steps', type=cpi_steps,
help='Comma separated list of CPI steps for the specified profile. Default: 2,3,6,13,16. Use -1 to disable a step.')
# brightness-breathing
action_desc ='Change the brightness & breathing settings'
brightness_breathing_parser = subparsers.add_parser('bb',
description=action_desc, parents=[profile_parser], help=action_desc)
brightness_breathing_parser.add_argument('brightness', choices=WiredGamingMouseT1.brightness_map.keys(), help='Brightness')
brightness_breathing_parser.add_argument('breathing', choices=WiredGamingMouseT1.breathing_map.keys(), help='Breathing')
args = parser.parse_args()
ifnot args.action: parser.error('Please choose and action.')
level = logging.DEBUGif args.debug else logging.INFO
logging.basicConfig(format='%(levelname)s: %(message)s', level=level)
t1 = WiredGamingMouseT1()
if args.action 'col': t1.set_color(args.color, args.brightness, args.breathing)
if args.action 'sp': t1.set_profile(args.profile)
if args.action 'cs': t1.set_cpi(args.profile, args.steps)
if args.action 'bb': t1.set_brightness_breathing(args.profile, args.brightness, args.breathing)
if__name__'__main__': main()

commented Dec 31, 2015

Hey! sorry for the noob question but i'm getting:
Traceback (most recent call last):
File './wgmt1.py', line 12, in
import usb.core, usb.util
ImportError: No module named usb.core
What am i doing wrong?

T7 Wired Gaming Mouse Driver Download

commented Jan 14, 2016

Hi @F0rce,
you need to install PyUSB:

In addition, you need to install libusb1 from your Linux distribution's package manager.

commented Jan 16, 2016

T7 Wired Gaming Mouse Driver Download

Hi, I'm getting the following error when I try to run it

Command:

Error:

I am running Ubuntu 15.10 with both PyUSB and libusb-1.0-0 installed, do you know what I have done wrong?

commented Jan 19, 2016

Probably your usb vendorID or productID are different, check them out using lsusb or dmesg and update the py script.
I'm trying to run this stuff on a T3 version of the same mouse, but no luck, I'm missing the usb HID 'device'.... meh
I'll check in spare time...

commented Jun 30, 2016


I get these errors when i try the script, i don't understand why.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

As well as producing some capable mechanical keyboards, VicTsing also manufacturers other accessories for the PC, including mice. We'll be featuring the VicTsing T3 and T7, both billed as affordable gaming mice for the home. Are they any good and should you invest in a purchase, saving some money compared to more expensive counterparts? Let's take a look.

The T3 is an interesting mouse. At $29.99 it's not quite dirt cheap, but you do get some added benefits of paying out slightly more money. I'm talking braided cabling, RGB LED lighting, and a comfortable experience overall. If you're expecting pinpoint accuracy similar to what you'd find in top-of-the-line Razer and Logitech mice, I would always recommend paying out the premium for said peripherals. That said, the T3 by VicTsing is a seriously good mouse for the price.

There are five pre-set DPI levels that you can toggle through. If you wish to take customization a step further, you'll need to boot up the dedicated suite, which also includes options for color effects, buttons, setting up macros, and more. The software is a neat addition, and including settings for media controls, profile switches, reporting rates and more is something I wouldn't have expected when considering the price.

CategorySpecs
DPI1000/2000/4000/8200/16400
SensorAvago A9800
Buttons7

Alongside the braided cable, we also have a rather compact mouse with ergonomics that make it rather joyful to hold, regardless as to which grip style you prefer. The scroll wheel actually feels sturdy and the main buttons do not feel cheap. That said, the two buttons on the side of the unit do not meet the same level of quality, but I'm not a fan of said buttons and shan't be using them regularly.

For mouse performance, I've set the pre-set DPI level to 2000, which I feel is a nice balance and I've not experienced much in terms of pointer jitter. I noticed some issues with mouse tracking when moving across a surface at some speed, but for the average title on the PC, you should be absolutely fine. Again, we're talking about a $30 mouse.

T7 Wired Gaming Mouse Driver Download

I like the T3, it's a solid mouse... so long as you don't require absolute precision at fast speeds. What is really cool about VicTsing's mouse is the packaging it comes in — don't throw it out when you get it home because it's designed so that you can repurpose it as a carrier for your next LAN party.

VicTsing T7

Contrary to what you'd naturally assume from the naming of these mice (and the naming used in general for VicTsing products leave much to be desired), the T7 is actually the less advanced option when compared against the T3. There's no gold-plated USB connector, no braided cabling, but it's not a bad mouse at all, and you could almost say they're pretty much identical, aside from aesthetics and a few small design details.

The T7 sports the same ABS material used in the T3, resulting in a clean and comfortable finish that's nothing short of a joy to hold. I prefer this finish to the Naga Hex V1, which is a pointer I usually swear by when it comes to the whole package. Much like it's slightly more expensive sibling, the T7 can also switch between 5 pre-set DPI configurations on the fly, though you'll only be able to max out at 7200.

CategorySpecs
DPI1200/2400/3500/5500/7200
SensorAvago A9800
Buttons7

T7 Wired Gaming Mouse Driver Download For Laptop

It's also optical, so don't go looking down near the laser underneath. I tested the mouse on its various DPI settings and configurations, finding that it performed well in general use and in some light gaming. Again, the software is a nice addition that helps in customizing the mouse with a variety of settings.

T7 Wired Gaming Mouse Driver Download Windows 7

If you don't care for better protected cabling and aren't fussed about having the most insane levels of DPI possible, the T7 is actually a bargain at just £9.99 here in the UK, you really can't go wrong if your available budget simply won't stretch for that DeathAdder Elite.

This post may contain affiliate links. See our disclosure policy for more details.