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

Reply via email to