Share via


Estrutura JOYINFOEX (joystickapi.h)

A estrutura JOYINFOEX contém informações estendidas sobre a posição do joystick, a posição do ponto de exibição e o estado do botão.

Sintaxe

typedef struct joyinfoex_tag {
  DWORD dwSize;
  DWORD dwFlags;
  DWORD dwXpos;
  DWORD dwYpos;
  DWORD dwZpos;
  DWORD dwRpos;
  DWORD dwUpos;
  DWORD dwVpos;
  DWORD dwButtons;
  DWORD dwButtonNumber;
  DWORD dwPOV;
  DWORD dwReserved1;
  DWORD dwReserved2;
} JOYINFOEX, *PJOYINFOEX, *NPJOYINFOEX, *LPJOYINFOEX;

Membros

dwSize

Tamanho, em bytes, dessa estrutura.

dwFlags

Sinalizadores que indicam as informações válidas retornadas nesta estrutura. Os membros que não contêm informações válidas são definidos como zero. Os seguintes sinalizadores são definidos:

Sinalizador Descrição
JOY_RETURNALL Equivalente a definir todos os bits JOY_RETURN, exceto JOY_RETURNRAWDATA.
JOY_RETURNBUTTONS O membro dwButtons contém informações válidas sobre o estado de cada botão de joystick.
JOY_RETURNCENTERED Centraliza a posição neutra do joystick para o valor médio de cada eixo de movimento.
JOY_RETURNPOV O membro dwPOV contém informações válidas sobre o controle de ponto de exibição, expresso em unidades discretas.
JOY_RETURNPOVCTS O membro dwPOV contém informações válidas sobre o controle de ponto de exibição expresso em unidades contínuas de centésimo grau.
JOY_RETURNR O membro dwRpos contém dados válidos do pedal do leme. Essas informações representam outro (quarto) eixo.
JOY_RETURNRAWDATA Os dados armazenados nessa estrutura são leituras de joystick não realçadas.
JOY_RETURNU O membro dwUpos contém dados válidos para um quinto eixo do joystick, se esse eixo estiver disponível ou retornará zero caso contrário.
JOY_RETURNV O membro dwVpos contém dados válidos para um sexto eixo do joystick, se esse eixo estiver disponível ou retornará zero de outra forma.
JOY_RETURNX O membro dwXpos contém dados válidos para a coordenada x do joystick.
JOY_RETURNY O membro dwYpos contém dados válidos para a coordenada y do joystick.
JOY_RETURNZ O membro dwZpos contém dados válidos para a coordenada z do joystick.
 

Os sinalizadores a seguir fornecem dados para calibrar um joystick e são destinados a aplicativos de calibragem personalizados.

Sinalizador Descrição
JOY_CAL_READ3 Leia as coordenadas x, y e z e armazene os valores brutos em dwXpos, dwYpos e dwZpos.
JOY_CAL_READ4 Leia as informações do leme e as coordenadas x, y e z e armazene os valores brutos em dwXpos, dwYpos, dwZpos e dwRpos.
JOY_CAL_READ5 Leia as informações do leme e as coordenadas x, y, z e you e armazene os valores brutos em dwXpos, dwYpos, dwZpos, dwRpos e dwUpos.
JOY_CAL_READ6 Leia os dados brutos do eixo v se um mini driver joystick estiver presente que fornecerá os dados. Retorna zero caso contrário.
JOY_CAL_READALWAYS Leia a porta do joystick mesmo que o driver não detecte um dispositivo.
JOY_CAL_READRONLY Leia as informações do leme se houver um mini driver joystick que fornecerá os dados e armazenará o valor bruto em dwRpos. Caso contrário, retornará zero.
JOY_CAL_READXONLY Leia a coordenada x e armazene o valor bruto (não recalculado) em dwXpos.
JOY_CAL_READXYONLY Lê as coordenadas x e y e coloca os valores brutos em dwXpos e dwYpos.
JOY_CAL_READYONLY Lê a coordenada y e armazena o valor bruto em dwYpos.
JOY_CAL_READZONLY Leia a coordenada z e armazene o valor bruto em dwZpos.
JOY_CAL_READUONLY Leia a coordenada u se um mini driver joystick estiver presente que fornecerá os dados e armazenará o valor bruto em dwUpos. Caso contrário, retornará zero.
JOY_CAL_READVONLY Leia a coordenada v se um mini driver joystick estiver presente que fornecerá os dados e armazenará o valor bruto em dwVpos. Caso contrário, retornará zero.

dwXpos

Coordenada X atual.

dwYpos

Coordenada Y atual.

dwZpos

Coordenada Z atual.

dwRpos

Posição atual do leme ou do quarto eixo joystick.

dwUpos

Posição atual do quinto eixo.

dwVpos

Posição atual do sexto eixo.

dwButtons

Estado atual dos botões de joystick 32. O valor desse membro pode ser definido como qualquer combinação de JOY_BUTTON n sinalizadores, em que n é um valor no intervalo de 1 a 32 correspondente ao botão que é pressionado.

dwButtonNumber

Número do botão atual que é pressionado.

dwPOV

Posição atual do controle de ponto de exibição. Os valores desse membro estão no intervalo de 0 a 35.900. Esses valores representam o ângulo, em graus, de cada exibição multiplicada por 100.

dwReserved1

Reservado; não use.

dwReserved2

Reservado; não use.

Comentários

O valor do membro dwSize também é usado para identificar o número de versão da estrutura quando ela é passada para a função joyGetPosEx .

A maioria dos dispositivos com um controle de ponto de exibição tem apenas cinco posições. Quando o sinalizador JOY_RETURNPOV é definido, essas posições são relatadas usando as seguintes constantes:

Sinalizador de ponto de exibição Descrição
JOY_POVBACKWARD O chapéu de ponto de vista é pressionado para trás. O valor 18.000 representa uma orientação de 180,00 graus (para trás).
JOY_POVCENTERED O chapéu de ponto de vista está na posição neutra. O valor -1 significa que o chapéu de ponto de vista não tem ângulo para relatar.
JOY_POVFORWARD O chapéu de ponto de vista é pressionado para a frente. O valor 0 representa uma orientação de 0,00 graus (logo à frente).
JOY_POVLEFT O chapéu de ponto de vista está sendo pressionado à esquerda. O valor 27.000 representa uma orientação de 270,00 graus (90,00 graus à esquerda).
JOY_POVRIGHT O chapéu de ponto de vista é pressionado à direita. O valor 9.000 representa uma orientação de 90,00 graus (à direita).
 

Atualmente, o driver de joystick padrão dá suporte a essas cinco direções discretas. Se um aplicativo puder aceitar apenas os valores de ponto de exibição definidos, ele deverá usar o sinalizador JOY_RETURNPOV. Se um aplicativo puder aceitar outras leituras de grau, ele deverá usar o sinalizador JOY_RETURNPOVCTS para obter dados contínuos se estiver disponível. O sinalizador JOY_RETURNPOVCTS também dá suporte às constantes JOY_POV usadas com o sinalizador JOY_RETURNPOV.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho joystickapi.h (inclua Windows.h)

Confira também

Joysticks

Estruturas joystick multimídia

joyGetPosEx