Add compiling on Ubuntu for X11 funcs
This commit is contained in:
@@ -53,7 +53,13 @@ win32 {
|
|||||||
HEADERS += src/tabcontrollers/audiomanager/AudioManagerWindows.h
|
HEADERS += src/tabcontrollers/audiomanager/AudioManagerWindows.h
|
||||||
}
|
}
|
||||||
|
|
||||||
!win32 {
|
unix {
|
||||||
|
SOURCES += src/tabcontrollers/keyboardinput/KeyboardInputX11.cpp
|
||||||
|
CONFIG += x11
|
||||||
|
LIBS += -lXtst
|
||||||
|
}
|
||||||
|
|
||||||
|
!win32&:!unix {
|
||||||
SOURCES += src/tabcontrollers/keyboardinput/KeyboardInputDummy.cpp
|
SOURCES += src/tabcontrollers/keyboardinput/KeyboardInputDummy.cpp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,38 +10,36 @@
|
|||||||
|
|
||||||
namespace keyboardinput
|
namespace keyboardinput
|
||||||
{
|
{
|
||||||
static void sendKeyPressAndRelease (const KeySym keySymbol, const KeySym modifierSymbol){
|
static void sendKeyPressAndRelease( const KeySym keySymbol,
|
||||||
Display *disp = XOpenDisplay (NULL);
|
const KeySym modifierSymbol )
|
||||||
|
{
|
||||||
|
Display* const display = XOpenDisplay( nullptr );
|
||||||
|
|
||||||
KeyCode keycode = 0;
|
const KeyCode keycode = XKeysymToKeycode( display, keySymbol );
|
||||||
keycode = XKeysymToKeycode (disp, keySymbol);
|
if ( keycode == 0 )
|
||||||
|
{
|
||||||
KeyCode modcode = 0;
|
|
||||||
|
|
||||||
if (keycode == 0) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
XTestGrabControl (disp, True);
|
XTestGrabControl( display, True );
|
||||||
|
|
||||||
/* Generate modkey press */
|
KeyCode modcode = 0;
|
||||||
if (modifierSymbol != 0) {
|
if ( modifierSymbol != 0 )
|
||||||
modcode = XKeysymToKeycode(disp, modsym);
|
{
|
||||||
XTestFakeKeyEvent (disp, modcode, True, 0);
|
modcode = XKeysymToKeycode( display, modifierSymbol );
|
||||||
}
|
XTestFakeKeyEvent( display, modcode, True, 0 );
|
||||||
/* Generate regular key press and release */
|
|
||||||
XTestFakeKeyEvent (disp, keycode, True, 0);
|
|
||||||
XTestFakeKeyEvent (disp, keycode, False, 0);
|
|
||||||
|
|
||||||
/* Generate modkey release */
|
|
||||||
if (modifierSymbol != 0) {
|
|
||||||
XTestFakeKeyEvent (disp, modcode, False, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
XSync (disp, False);
|
XTestFakeKeyEvent( display, keycode, True, 0 );
|
||||||
XTestGrabControl (disp, False);
|
XTestFakeKeyEvent( display, keycode, False, 0 );
|
||||||
|
|
||||||
XCloseDisplay(disp);
|
if ( modifierSymbol != 0 )
|
||||||
|
{
|
||||||
|
XTestFakeKeyEvent( display, modcode, False, 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
XSync( display, False );
|
||||||
|
XTestGrabControl( display, False );
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendKeyboardInput( QString input )
|
void sendKeyboardInput( QString input )
|
||||||
@@ -63,7 +61,7 @@ void sendKeyboardBackspace( const int count )
|
|||||||
|
|
||||||
void sendKeyboardAltTab()
|
void sendKeyboardAltTab()
|
||||||
{
|
{
|
||||||
// noop
|
sendKeyPressAndRelease( XK_Tab, XK_Alt_L );
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendKeyboardAltEnter()
|
void sendKeyboardAltEnter()
|
||||||
|
|||||||
Reference in New Issue
Block a user