Merge lp:~3v1n0/unity/im-text-entry-ibus-friendly-5.0 into lp:unity/5.0

Proposed by Marco Trevisan (Treviño)
Status: Merged
Approved by: Marco Trevisan (Treviño)
Approved revision: no longer in the source branch.
Merged at revision: 2370
Proposed branch: lp:~3v1n0/unity/im-text-entry-ibus-friendly-5.0
Merge into: lp:unity/5.0
Diff against target: 73 lines (+1/-44)
2 files modified
plugins/unityshell/src/IMTextEntry.cpp (+1/-12)
tests/test_im_text_entry.cpp (+0/-32)
To merge this branch: bzr merge lp:~3v1n0/unity/im-text-entry-ibus-friendly-5.0
Reviewer Review Type Date Requested Status
Brandon Schaefer (community) Approve
Review via email: mp+111525@code.launchpad.net

Commit message

IMTextEntry: don't ingore ctrl/alt keypress to make ibus still working

Description of the change

Remove the filter for Ctrl/Alt keybindings to avoid ibus issues..

To post a comment you must log in.
Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

Looks good. +1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'plugins/unityshell/src/IMTextEntry.cpp'
--- plugins/unityshell/src/IMTextEntry.cpp 2012-06-19 17:04:29 +0000
+++ plugins/unityshell/src/IMTextEntry.cpp 2012-06-22 00:24:29 +0000
@@ -67,7 +67,6 @@
67 bool shift = event.GetKeyModifierState(KEY_MODIFIER_SHIFT);67 bool shift = event.GetKeyModifierState(KEY_MODIFIER_SHIFT);
68 bool ctrl = event.GetKeyModifierState(KEY_MODIFIER_CTRL);68 bool ctrl = event.GetKeyModifierState(KEY_MODIFIER_CTRL);
69 bool super = event.GetKeyModifierState(KEY_MODIFIER_SUPER);69 bool super = event.GetKeyModifierState(KEY_MODIFIER_SUPER);
70 bool alt = event.GetKeyModifierState(KEY_MODIFIER_ALT);
7170
72 if ((ctrl && !shift && keyval == NUX_VK_x) || // Ctrl + X71 if ((ctrl && !shift && keyval == NUX_VK_x) || // Ctrl + X
73 (shift && !ctrl && keyval == NUX_VK_DELETE)) // Shift + Del72 (shift && !ctrl && keyval == NUX_VK_DELETE)) // Shift + Del
@@ -83,17 +82,7 @@
83 {82 {
84 Paste();83 Paste();
85 }84 }
86 else if (ctrl)85 else if (!super)
87 {
88 if (keyval == NUX_VK_LEFT || keyval == NUX_VK_RIGHT || // Ctrl + Move keys
89 keyval == NUX_VK_HOME || keyval == NUX_VK_END || // Ctrl + Home / End
90 keyval == NUX_VK_BACKSPACE || keyval == NUX_VK_DELETE || // Ctrl + Backspace / Delete
91 keyval == NUX_VK_a) // Ctrl + A
92 {
93 return true;
94 }
95 }
96 else if (!alt && !super)
97 {86 {
98 return true;87 return true;
99 }88 }
10089
=== modified file 'tests/test_im_text_entry.cpp'
--- tests/test_im_text_entry.cpp 2012-06-20 12:29:23 +0000
+++ tests/test_im_text_entry.cpp 2012-06-22 00:24:29 +0000
@@ -156,38 +156,6 @@
156 EXPECT_TRUE(text_entry.TryHandleSpecial(selectall));156 EXPECT_TRUE(text_entry.TryHandleSpecial(selectall));
157}157}
158158
159TEST(TestIMTextEntry, CtrlKeybindings)
160{
161 MockTextEntry text_entry;
162
163 std::vector<unsigned long> allowed_keys { NUX_VK_a, NUX_VK_BACKSPACE,
164 NUX_VK_LEFT, NUX_VK_RIGHT,
165 NUX_VK_HOME, NUX_VK_END,
166 NUX_VK_BACKSPACE, NUX_VK_DELETE };
167
168 for (unsigned long keysym = 0; keysym < XK_VoidSymbol; ++keysym)
169 {
170 bool should_be_handled = false;
171
172 if (std::find(allowed_keys.begin(), allowed_keys.end(), keysym) != allowed_keys.end())
173 should_be_handled = true;
174
175 TestEvent event(KEY_MODIFIER_CTRL, keysym);
176 EXPECT_EQ(text_entry.TryHandleSpecial(event), should_be_handled);
177 }
178}
179
180TEST(TestIMTextEntry, AltKeybindings)
181{
182 MockTextEntry text_entry;
183
184 for (unsigned long keysym = 0; keysym < XK_VoidSymbol; ++keysym)
185 {
186 TestEvent event(KEY_MODIFIER_ALT, keysym);
187 EXPECT_FALSE(text_entry.TryHandleSpecial(event));
188 }
189}
190
191TEST(TestIMTextEntry, SuperKeybindings)159TEST(TestIMTextEntry, SuperKeybindings)
192{160{
193 MockTextEntry text_entry;161 MockTextEntry text_entry;

Subscribers

People subscribed via source and target branches