我想在Cuis smalltalk交换按钮使用。 目前,鼠标右键显示alo,而中间按钮显示上下文菜单。 是否有可能改变这种行为?
答案 0 :(得分:4)
您可以更改图像中的ButtonDecodeTable
,也可以告诉VM使用不同的鼠标映射。这取决于平台:
3ButtonMouse
文件中切换*.ini
设置,方法是按F2或手动,请参阅http://squeakvm.org/win32/settings.html -swapbtn
Info.plist
答案 1 :(得分:3)
好的,我找到了。
似乎在方法installMouseDecodeTable中 我甚至需要在Windows上交换DecodeTable位 (我正在使用Windows 7,并且交换了按钮)
"Create a decode table that swaps the lowest-order 2 bits if not on Windows.
This is to make right mouse button be the mouseButton2, i.e. open menus, and middle (wheel) button open halos (mouseButton3).
See #processEvent:"
如果我强制切换,交换位(例如使用虚拟平台名称或完全删除测试),则按钮可正常工作。
(您需要保存图像,关闭并重新打开程序)
ButtonDecodeTable _ Smalltalk platformName = 'Dummy'
ifTrue: [ ByteArray withAll: (0 to: 255) ]
ifFalse: [
ByteArray withAll:
((0 to: 255) collect: [ :ea |
((ea bitAnd: 1) << 1 bitOr: (ea bitAnd: 2) >> 1) bitOr: (ea bitAnd: 252) ]) ]