constant name are wrong I think,
ssMeta -> ctrl key
ssCtrl -> cmd (command) key
fpc r30400 lazarus r48594 on yosemite qt x64
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssCtrl]then
ShowMessage('ssCtrl(command key) pressed');
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssMeta]then
ShowMessage('ssMeta(ctrl key) pressed');
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssMeta,ssShift]then
ShowMessage('ssShift + ssMeta(ctrl key) pressed');
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssCtrl,ssAlt]then
ShowMessage('ssAlt + ssCtrl(command key) pressed');
On 2.04.2015 18:34, Graeme Geldenhuys wrote:
On 2015-04-02 15:33, FreeMan wrote:
Yes your code is working and hold ssShift, just change ssShift to
ssCtrl, and not work, I mean not show any message.
I tested here by changing ssShift to ssCtrl and it works perfectly.
if (Shift*[ssShift,ssAlt,ssCtrl]) = [ssCtrl] then
ShowMessage('really, only Ctrl was pressed');
if Shift * [ssShift,ssAlt,ssCtrl] = [ssShift,ssCtrl] then
ShowMessage('Only Shift+Ctrl was pressed');
if ssCtrl in Shift then
ShowMessage('Ctrl could have been pressed with ssAlt or ssShift for
example');
What is your test system ?
64-bit FreeBSD with LCL-GTK2
I wrote in first message, yosemite qt x64.
If it doesn't work on your system, then it must be another bug in LCL.
You should then file a bug report on Mantis. I suggest you also supply
the test code above.
Regards,
- Graeme -
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus