this might work..in tmc/python/tormach_lathe_ui.py or tormach_mill_ui.py
look for this phrase..
# Escape used to stop certain UI tasks.
if kv == gtk.keysyms.Escape:
self.error_handler.log("ESC key - queueing stop event")
self.enqueue_button_press_release(self.button_list)
self.tool_descript_entry.shutdown_view() # if active terminates the tool description overlay
self.profile_renderer.update() # if active terminates a zoom view on the profile render
tooltipmgr.TTMgr().on_esc_key() # if active end the current tooltip.
return True
#w key on keyboard
if kv == gtk.keysyms.w:
self.sliders.set_slider_value(100)
return True
i use this addition for a jog encoder and spindle,feedrate,maxvel panel encoders...this version does need variables declaring earlier in the program but you might get the idea...
#--user keys
#add self.override = [100,100,100] #new list for override variables after init_sliders line 588 o this version
# MOD1_MASK indicates the left alt key pressed
if event.state & (gtk.gdk.MOD1_MASK): #MOD1_MASK = left ALT key
#panel encoders
if kv == gtk.keysyms.u:
self.override[0] = self.override[0] + 1
if self.override[0] > 200:
self.override[0] = 200
self.sliders.set_slider_value(self.override[0])
return True
if kv == gtk.keysyms.v:
self.override[0] = self.override[0] - 1
if self.override[0] < 0:
self.override[0] = 0
self.sliders.set_slider_value(self.override[0])
return True
if kv == gtk.keysyms.w:
self.override[1] = self.override[1] + 1
if self.override[1] > 200:
self.override[1] = 200
self.sliders.set_slider_value(self.override[1])
return True
if kv == gtk.keysyms.x:
self.override[1] = self.override[1] - 1
if self.override[1] < 0:
self.override[1] = 0
self.sliders.set_slider_value(self.override[1])
return True
if kv == gtk.keysyms.y:
self.override[2] = self.override[2] + 1
if self.override[2] > 100:
self.override[2] = 100
self.sliders.set_slider_value(self.override[2])
return True
if kv == gtk.keysyms.z:
self.override[2] = self.override[2] - 1
if self.override[2] < 0:
self.override[2] = 0
self.sliders.set_slider_value(self.override[2])
return True
#jog speed
#jog speed 1
if kv == gtk.keysyms.a:
self.sliders.adjustment.set_value(1)
if kv == gtk.keysyms.A:
self.sliders.adjustment.set_value(1)
return True
#jog speed 10
if kv == gtk.keysyms.b:
self.sliders.adjustment.set_value(10)
if kv == gtk.keysyms.B:
self.sliders.adjustment.set_value(10)
return True
#jog speed 30
if kv == gtk.keysyms.c:
self.sliders.adjustment.set_value(30)
if kv == gtk.keysyms.C:
self.sliders.adjustment.set_value(30)
return True
#jog speed 50
if kv == gtk.keysyms.d:
self.sliders.adjustment.set_value(40)
if kv == gtk.keysyms.

self.sliders.adjustment.set_value(40)
return True
#jog increment
#increment jog x0.01
if kv == gtk.keysyms.g:
self.enqueue_button_press_release(self.button_list)
if kv == gtk.keysyms.G:
self.enqueue_button_press_release(self.button_list)
return True
#increment jog x0.1
if kv == gtk.keysyms.h:
self.enqueue_button_press_release(self.button_list)
if kv == gtk.keysyms.H:
self.enqueue_button_press_release(self.button_list)
return True
#increment jog x1
if kv == gtk.keysyms.i:
self.enqueue_button_press_release(self.button_list)
if kv == gtk.keysyms.I:
self.enqueue_button_press_release(self.button_list)
return True
#incremental jog
#incremental jog
if kv == gtk.keysyms.j:
self.set_keyboard_jog_mode(linuxcnc.JOG_INCREMENT)
if kv == gtk.keysyms.J:
self.set_keyboard_jog_mode(linuxcnc.JOG_INCREMENT)
return True
#continuous jog
#continuous jog
if kv == gtk.keysyms.k:
self.set_keyboard_jog_mode(linuxcnc.JOG_CONTINUOUS)
if kv == gtk.keysyms.K:
self.set_keyboard_jog_mode(linuxcnc.JOG_CONTINUOUS)
return True
#reset
#reset
if kv == gtk.keysyms.s:
self.enqueue_button_press_release(self.button_list)
return True
#--end user keys
panel encoder send a keypress for each indent ...
sorry for pasting code but i can't remember how to wrap it!...
Dorro