Well i don't do anything in that case...
You can detect if some item is held and if so then check the item name.
So i guess the workaround would be to have 2 versions for each item active & not active and on the hover you would set the active item as held and on the cursor leaves the normal again.
But it's so much additional work.. but maybe some function could handle that.
This is what i tried but it doesn't do anything
local itm = game.GameUsedItem:getName()
if itm ~= "" then
local obj = getObject("Objects[" .. itm .. "]")
obj.ObjectSprite.SpriteSprite = {"path", "0", "0", {"0", "0"}}
end