fix x11 keyboard modifiers
This commit is contained in:
parent
ef82fc1554
commit
911584e816
1
TODO
1
TODO
|
@ -41,7 +41,6 @@
|
||||||
[bart] find a way to add new widgets without focusing them
|
[bart] find a way to add new widgets without focusing them
|
||||||
[bart] fix moving windows and tooltips conflicts
|
[bart] fix moving windows and tooltips conflicts
|
||||||
[bart] break UILabel lines
|
[bart] break UILabel lines
|
||||||
[bart] padding
|
|
||||||
[bart] review and make more error prone with more warnings
|
[bart] review and make more error prone with more warnings
|
||||||
[bart] a real working border and background property in otui
|
[bart] a real working border and background property in otui
|
||||||
[bart] reapply anchor styles when adding new childs
|
[bart] reapply anchor styles when adding new childs
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
function UIMap:onMouseRelease(mousePos, mouseButton)
|
function UIMap:onMouseRelease(mousePos, mouseButton)
|
||||||
|
|
||||||
local tile = self:getTile(mousePos)
|
local tile = self:getTile(mousePos)
|
||||||
if not tile then return false end
|
if not tile then return false end
|
||||||
|
|
||||||
local keyboardModifiers = g_window.getKeyboardModifiers()
|
local keyboardModifiers = g_window.getKeyboardModifiers()
|
||||||
print ("lol " .. keyboardModifiers)
|
|
||||||
if not Options.classicControl then
|
if not Options.classicControl then
|
||||||
|
|
||||||
if keyboardModifiers == KeyboardNoModifier and mouseButton == MouseLeftButton then
|
if keyboardModifiers == KeyboardNoModifier and mouseButton == MouseLeftButton then
|
||||||
-- auto walk
|
-- auto walk
|
||||||
return true
|
return true
|
||||||
|
@ -23,8 +20,7 @@ function UIMap:onMouseRelease(mousePos, mouseButton)
|
||||||
Game.attack(tile:getTopCreature())
|
Game.attack(tile:getTopCreature())
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
|
@ -35,6 +35,7 @@ WIN32Window::WIN32Window()
|
||||||
m_maximized = false;
|
m_maximized = false;
|
||||||
m_minimumSize = Size(16,16);
|
m_minimumSize = Size(16,16);
|
||||||
m_size = m_minimumSize;
|
m_size = m_minimumSize;
|
||||||
|
m_inputEvent.keyboardModifiers = 0;
|
||||||
|
|
||||||
m_keyMap[VK_ESCAPE] = Fw::KeyEscape;
|
m_keyMap[VK_ESCAPE] = Fw::KeyEscape;
|
||||||
m_keyMap[VK_TAB] = Fw::KeyTab;
|
m_keyMap[VK_TAB] = Fw::KeyTab;
|
||||||
|
|
|
@ -37,6 +37,7 @@ X11Window::X11Window()
|
||||||
m_screen = 0;
|
m_screen = 0;
|
||||||
m_wmDelete = 0;
|
m_wmDelete = 0;
|
||||||
m_size = Size(16,16);
|
m_size = Size(16,16);
|
||||||
|
m_inputEvent.keyboardModifiers = 0;
|
||||||
|
|
||||||
#ifndef OPENGL_ES2
|
#ifndef OPENGL_ES2
|
||||||
m_glxContext = 0;
|
m_glxContext = 0;
|
||||||
|
@ -543,6 +544,13 @@ void X11Window::poll()
|
||||||
m_inputEvent.keyText = "";
|
m_inputEvent.keyText = "";
|
||||||
m_inputEvent.mouseMoved = Point();
|
m_inputEvent.mouseMoved = Point();
|
||||||
m_inputEvent.wheelDirection = Fw::MouseNoWheel;
|
m_inputEvent.wheelDirection = Fw::MouseNoWheel;
|
||||||
|
m_inputEvent.keyboardModifiers = 0;
|
||||||
|
if(event.xkey.state & ControlMask)
|
||||||
|
m_inputEvent.keyboardModifiers |= Fw::KeyboardCtrlModifier;
|
||||||
|
if(event.xkey.state & ShiftMask)
|
||||||
|
m_inputEvent.keyboardModifiers |= Fw::KeyboardShiftModifier;
|
||||||
|
if(event.xkey.state & Mod1Mask)
|
||||||
|
m_inputEvent.keyboardModifiers |= Fw::KeyboardAltModifier;
|
||||||
|
|
||||||
switch(event.type) {
|
switch(event.type) {
|
||||||
case ClientMessage: {
|
case ClientMessage: {
|
||||||
|
@ -611,15 +619,6 @@ void X11Window::poll()
|
||||||
memset(buf, 0, 32);
|
memset(buf, 0, 32);
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
m_inputEvent.keyboardModifiers = 0;
|
|
||||||
m_inputEvent.keyText = "";
|
|
||||||
if(event.xkey.state & ControlMask)
|
|
||||||
m_inputEvent.keyboardModifiers |= Fw::KeyboardCtrlModifier;
|
|
||||||
if(event.xkey.state & ShiftMask)
|
|
||||||
m_inputEvent.keyboardModifiers |= Fw::KeyboardShiftModifier;
|
|
||||||
if(event.xkey.state & Mod1Mask)
|
|
||||||
m_inputEvent.keyboardModifiers |= Fw::KeyboardAltModifier;
|
|
||||||
|
|
||||||
// lookup for keyText
|
// lookup for keyText
|
||||||
if(event.type == KeyPress && !(event.xkey.state & ControlMask) && !(event.xkey.state & Mod1Mask)) {
|
if(event.type == KeyPress && !(event.xkey.state & ControlMask) && !(event.xkey.state & Mod1Mask)) {
|
||||||
if(m_xic) { // with xim we can get latin1 input correctly
|
if(m_xic) { // with xim we can get latin1 input correctly
|
||||||
|
|
Loading…
Reference in New Issue