Это необходимо сделать, установив для свойства курсора разные значения для разных элементов, имитируя то, как браузеры используют разные курсоры. Например,
input [type = text] {курсор: url (text.cur), текст; }
Браузеры не ведут себя одинаково, а описание рендеринга в черновике HTML5 не описывает поведение браузера более подробно в этой области. Он содержит только заметки и специальные настройки:
a:link[rel~=help], a:visited[rel~=help],
area:link[rel~=help], area:visited[rel~=help] { cursor: help; }
Это может быть одно из правил, которым вы можете подражать. Боюсь, большинство правил вам нужно выяснить самим. Как ни странно, даже «Таблица стилей по умолчанию для HTML 4» в спецификации CSS 2.1 вообще не устанавливает свойство курсора.
Если бы я хотел делать такие вещи, я бы, вероятно, взял список элементов HTML (либо какой-нибудь обширный список, либо список элементов, которые я фактически использую) и подумал бы о форме курсора для каждого из них, выполнив некоторое тестирование в браузерах. по мере необходимости.
Но по соображениям удобства использования я бы не стал настраивать формы курсора, за исключением, возможно, специализированных приложений.