kopia lustrzana https://github.com/abourget/shuttle-go
Even better config. Hebrew aren't that good.
rodzic
ac6910ad0d
commit
e4e55249cc
|
@ -10,6 +10,7 @@
|
||||||
"F5": "a",
|
"F5": "a",
|
||||||
"F6": "s",
|
"F6": "s",
|
||||||
"F7": "i",
|
"F7": "i",
|
||||||
|
"B1": "hebrew_finalnun",
|
||||||
"JogL": "parenleft",
|
"JogL": "parenleft",
|
||||||
"JogR": "parenright",
|
"JogR": "parenright",
|
||||||
"SlowJogL": "comma",
|
"SlowJogL": "comma",
|
||||||
|
@ -22,13 +23,13 @@
|
||||||
"S-2": "W",
|
"S-2": "W",
|
||||||
"S-1": "Q",
|
"S-1": "Q",
|
||||||
"S0": "k",
|
"S0": "k",
|
||||||
"S1": "KP_1",
|
"S1": "Z",
|
||||||
"S2": "KP_2",
|
"S2": "X",
|
||||||
"S3": "l",
|
"S3": "l",
|
||||||
"S4": "KP_3",
|
"S4": "C",
|
||||||
"S5": "KP_4",
|
"S5": "V",
|
||||||
"S6": "KP_5",
|
"S6": "B",
|
||||||
"S7": "KP_6"
|
"S7": "N"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
49
README.md
49
README.md
|
@ -3,8 +3,15 @@ Linux driver for Contour Design Shuttle Pro V2
|
||||||
|
|
||||||
My goal is to set it up for the Lightworks Non-Linear Editor.
|
My goal is to set it up for the Lightworks Non-Linear Editor.
|
||||||
|
|
||||||
|
This program supports having modifiers for your Shuttle Pro V2
|
||||||
|
buttons. Avoid Lightworks key bindings with modifiers however. Capital
|
||||||
|
letters are great as they cannot be combined, and are more direct and
|
||||||
|
they are less likely to conflict with your other bindings and
|
||||||
|
Lightworks recognizes them. All key names used here will work:
|
||||||
|
http://www.tcl.tk/man/tcl8.4/TkCmd/keysyms.htm
|
||||||
|
|
||||||
|
Right now, you need to install `xdotool` from your package
|
||||||
|
repositories. Eventually, we'll get rid of this dependency.
|
||||||
|
|
||||||
Buttons layout on the Contour Design Shuttle Pro v2:
|
Buttons layout on the Contour Design Shuttle Pro v2:
|
||||||
|
|
||||||
|
@ -24,30 +31,11 @@ Buttons layout on the Contour Design Shuttle Pro v2:
|
||||||
B2 B3
|
B2 B3
|
||||||
B1 B4
|
B1 B4
|
||||||
|
|
||||||
|
You can also use `SlowJogL` and `SlowJogR`, to use Frame nudge for example.
|
||||||
|
|
||||||
See
|
## Disable the native mouse pointer
|
||||||
|
|
||||||
|
The Shuttle acts as a mouse when you plug it into Ubuntu. Disable it with:
|
||||||
TODO
|
|
||||||
----
|
|
||||||
|
|
||||||
* Fix up timings, make sure we properly support shortcuts with
|
|
||||||
Ctrl+Shift and it doesn't clog the program. Perhaps optimize and
|
|
||||||
keep certain keys pressed, until not needed anymore. Especially
|
|
||||||
using the Jog and Shuttle.
|
|
||||||
|
|
||||||
* Make sure we have a solution to ignore the device as a generic HID
|
|
||||||
under Ubuntu. We can't have mouse clicks on top of our bindings!
|
|
||||||
|
|
||||||
* Check udev, DISPLAY=:0.0 to start ?
|
|
||||||
* Retry ? Check the error message going out.
|
|
||||||
|
|
||||||
* Try the xdotool with the latest bindings, XTest-based.
|
|
||||||
* Use xgb's `xtest` package and send the FakeInput directly there.. should work
|
|
||||||
a lot better.
|
|
||||||
|
|
||||||
|
|
||||||
Disable the native mouse pointer provided by the Shuttle with:
|
|
||||||
|
|
||||||
$ xinput --list
|
$ xinput --list
|
||||||
"Virtual core pointer" id=0 [XPointer]
|
"Virtual core pointer" id=0 [XPointer]
|
||||||
|
@ -59,3 +47,18 @@ Disable the native mouse pointer provided by the Shuttle with:
|
||||||
$ xinput set-int-prop 2 "Device Enabled" 8 0
|
$ xinput set-int-prop 2 "Device Enabled" 8 0
|
||||||
|
|
||||||
Ref: https://unix.stackexchange.com/questions/91075/how-to-disable-keyboard
|
Ref: https://unix.stackexchange.com/questions/91075/how-to-disable-keyboard
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
TODO
|
||||||
|
----
|
||||||
|
|
||||||
|
* Don't require `xdotool`
|
||||||
|
* Use xgb's `xtest` package and send the FakeInput directly there.. should work
|
||||||
|
a lot better.
|
||||||
|
* Document in here all the keys that are work and their proper syntax. Add a few helpers.
|
||||||
|
|
||||||
|
* Watch the configuration file, and reload on change.
|
||||||
|
|
||||||
|
* Check udev, DISPLAY=:0.0 to start ?
|
||||||
|
* Retry ? Check the error message going out.
|
||||||
|
|
|
@ -161,6 +161,8 @@ func (m *Mapper) executeBinding(binding *deviceBinding) error {
|
||||||
holdButtons := binding.holdButtons
|
holdButtons := binding.holdButtons
|
||||||
pressButton := binding.pressButton
|
pressButton := binding.pressButton
|
||||||
|
|
||||||
|
time.Sleep(100 * time.Millisecond)
|
||||||
|
|
||||||
//xtest.FakeInputChecked(m.watcher.conn, m.watcher.rootWin)
|
//xtest.FakeInputChecked(m.watcher.conn, m.watcher.rootWin)
|
||||||
fmt.Println("xdotool key --clearmodifiers", binding.original)
|
fmt.Println("xdotool key --clearmodifiers", binding.original)
|
||||||
return exec.Command("xdotool", "key", "--clearmodifiers", binding.original).Run()
|
return exec.Command("xdotool", "key", "--clearmodifiers", binding.original).Run()
|
||||||
|
|
Ładowanie…
Reference in New Issue