I have an application where parts of the screen contain elements that are "dead", i.e. the user cannot, in any way, interact with them.
What would be an appropriate mouse cursor for such frozen elements?
I have an application where parts of the screen contain elements that are "dead", i.e. the user cannot, in any way, interact with them.
What would be an appropriate mouse cursor for such frozen elements?
The common solution to this issue is to leave the default mouse cursor and instead "gray out" or somehow make a visual change to the part of the screen that cannot be interacted with, rather than your mouse cursor.
Look at some disabled web form controls for an excellent example.
This is the not-allowed cursor (as opposed to the same cursor used for no-drop) and which is part of the CSS3 cursor spec - for example see it used on jsFiddle - move the mouse over the preview/result area to see it in action (as set by the CSS code at top right)
Note: the demo is the CSS code running - not jsFiddle itself changing the cursor!
I would say, however, that I would be more inclined to use this cursor for desktop applications than for web. And if it is used for web, then only for an exceptional case rather than a general case, as the general case of no interaction is indeed covered by the standard arrow cursor (as other answers suggest) - unlike a desktop application where the standard arrow almost always means you are 'good to click'.
Technically a cursor with some kind of padlock symbol would make sense, but I agree with nfw. Give the user a visual cue that certain elements are locked, rather than have them waste time hovering over them, only to find out they can't interact with them.
(In response to your comment, it's too long so an answer.)
If there is no problem with them accidentally clicking and no real indication of problems, I'd say you don't need to do anything for that, no special cursor. There are plenty of situations you can't click on something: backgrounds, labels, empty space... The lack of response in itself isn't a source of confusion, and it in itself provides feedback: you click on it, nothing happens, ok, crystal clear.
The confusion arises when the user expect something to happen and it doesn't. That expectation may come from other applications where the click does mean something, or from other situations in your application where you can click, (or from other expectations that might be less traceable.) They don't just expect 'something, anything' to happen, they usually have specific expectations. And then it is better to address those specifically, rather than just providing a 'no can't do' image. (For example, users may expect to bring up the settings when right-clicking, and rather than telling them 'you can't right-click' you could point them to the settings.Don't just tell the user there's a problem, but point them to a solution.)
Even more, a special cursor / mouse pointer may well confuse the user even more, because users can take it as something is wrong. Or that in other situations the interaction should make sense: like a greyed out control implies that there actually is a situation where you can use that control, otherwise, why is it there?
So I would advise to just use the standard pointer (the arrow) without anything until either user tests or requests indicate that there is something to fix, and then fix it using the information on the actual confusion.
Based on your comment to nfw, it sounds for me like a "blank canvas" issue, not a problem of disabled content: The user is starting your program and nothing is on stage and enabled besides Project Open/Load, etc.
What about having a start screen instead? Like Viso-Startscreen or a Dashboard like Mocha. So users see where to start and you can present their options more in sight.
It's not a mouse issue. The main goal is to tell the user that he can't deal with the content. I agree with @nfw in the gray approach, but am adding a darker gray message box that tells the user why he wont be able to interact with the content, or any kind of messages that suits the situation.
For example if the only problem is that no existing projects you can show him a big rounded-corners gray button with "Create New Project".. Or "Start here"..etc