Index: libs/surfaces/tranzport/SConscript
===================================================================
--- libs/surfaces/tranzport/SConscript	(revision 4431)
+++ libs/surfaces/tranzport/SConscript	(working copy)
@@ -24,7 +24,7 @@
 interface.cc
 buttons.cc
 io.cc
-io_usb.cc
+io_kernel.cc
 panner.cc
 lights.cc
 screen.cc
@@ -37,6 +37,7 @@
 show.cc
 init.cc
 wheel.cc
+config.cc
 """)
 
 #figure out when to do
Index: SConstruct
===================================================================
--- SConstruct	(revision 4431)
+++ SConstruct	(working copy)
@@ -56,7 +56,8 @@
     BoolOption('LV2', 'Compile with support for LV2 (if slv2 is available)', 1),
     BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0),
     BoolOption('FREEDESKTOP', 'Install MIME type, icons and .desktop file as per the freedesktop.org spec (requires xdg-utils and shared-mime-info). "scons uninstall" removes associations in desktop database', 0),
-    BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1),
+    BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb or kernel driver is available)', 1),
+    BoolOption('ALPHATRACK', 'Compile with support for Frontier Designs Alphatrack)', 0),
     BoolOption('AUBIO', "Use Paul Brossier's aubio library for feature detection (if available)", 1)
 )
 
@@ -931,6 +932,9 @@
 else:
     have_libusb = False
 
+#in the case of linux we are 
+have_libusb = False
+
 # check for linux/input.h while we're at it for powermate
 if conf.CheckHeader('linux/input.h'):
     have_linux_input = True
@@ -1274,6 +1278,7 @@
 surface_subdirs = [ 'libs/surfaces/control_protocol',
                     'libs/surfaces/generic_midi',
                     'libs/surfaces/tranzport',
+#                   'libs/surfaces/alphatrack',
                     'libs/surfaces/mackie',
                     'libs/surfaces/powermate',
 		    'libs/surfaces/wiimote',
@@ -1281,11 +1286,12 @@
                     ]
 
 if env['SURFACES']:
-    if have_libusb:
+    if config[config_kernel] == 'linux' :
         env['TRANZPORT'] = 1
+        print 'Enabled building Linux Kernel based Tranzport driver'
     else:
         env['TRANZPORT'] = 0
-        print 'Disabled building Tranzport code because libusb could not be found'
+        print 'disable building Tranzport code'
 
     if have_linux_input:
         env['POWERMATE'] = 1
@@ -1293,6 +1299,8 @@
         env['POWERMATE'] = 0
         print 'Disabled building Powermate code because linux/input.h could not be found'
 
+#    env['ALPHATRACK'] = 1
+
     if os.access ('libs/surfaces/sony9pin', os.F_OK):
         surface_subdirs += [ 'libs/surfaces/sony9pin' ]
 else:
