|
|
|
@ -48,7 +48,7 @@ const int XKeyRelease = KeyRelease;
|
|
|
|
|
|
|
|
|
|
KeyCaptureDialog::KeyCaptureDialog(TQWidget *parent, const char *name)
|
|
|
|
|
: KDialogBase(parent, name, true, i18n( "Enter Key Combination" ),
|
|
|
|
|
Cancel, Cancel, true), m_grabbed(false) {
|
|
|
|
|
Cancel, Cancel, true) {
|
|
|
|
|
TQFrame *main = makeMainWidget();
|
|
|
|
|
TQVBoxLayout *layout = new TQVBoxLayout( main, 0, KDialog::spacingHint() );
|
|
|
|
|
m_captureWidget = new KeyCaptureWidget( main, "m_captureWidget" );
|
|
|
|
@ -57,15 +57,13 @@ KeyCaptureDialog::KeyCaptureDialog(TQWidget *parent, const char *name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
KeyCaptureDialog::~KeyCaptureDialog() {
|
|
|
|
|
if (m_grabbed)
|
|
|
|
|
releaseKeyboard();
|
|
|
|
|
releaseKeyboard();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void KeyCaptureDialog::execute() {
|
|
|
|
|
m_captureWidget->keyLabel->setText("");
|
|
|
|
|
exec();
|
|
|
|
|
if (m_grabbed)
|
|
|
|
|
releaseKeyboard();
|
|
|
|
|
releaseKeyboard();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool KeyCaptureDialog::x11Event(XEvent *pEvent)
|
|
|
|
@ -76,17 +74,25 @@ bool KeyCaptureDialog::x11Event(XEvent *pEvent)
|
|
|
|
|
x11EventKeyPress( pEvent );
|
|
|
|
|
return true;
|
|
|
|
|
case XFocusIn:
|
|
|
|
|
if (!m_grabbed)
|
|
|
|
|
grabKeyboard();
|
|
|
|
|
return true;
|
|
|
|
|
{
|
|
|
|
|
XFocusInEvent *fie = (XFocusInEvent*)pEvent;
|
|
|
|
|
if (fie->mode != NotifyGrab && fie->mode != NotifyUngrab) {
|
|
|
|
|
grabKeyboard();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case XFocusOut:
|
|
|
|
|
if (m_grabbed)
|
|
|
|
|
releaseKeyboard();
|
|
|
|
|
return true;
|
|
|
|
|
{
|
|
|
|
|
XFocusOutEvent *foe = (XFocusOutEvent*)pEvent;
|
|
|
|
|
if (foe->mode != NotifyGrab && foe->mode != NotifyUngrab) {
|
|
|
|
|
releaseKeyboard();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
return TQWidget::x11Event( pEvent );
|
|
|
|
|
return KDialogBase::x11Event( pEvent );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void KeyCaptureDialog::x11EventKeyPress( XEvent *pEvent )
|
|
|
|
|