Classes do sistema de entrada Lua
Permite que os scripts obtenham informações recebidas do usuário e acessem as portas de E/S da entrada do sistema emulado.
Gerenciador da porta E/S
Encapsula a classe ioport_port do MAME que representa uma porta emulada de E/S,
assim como, lida com as configurações da entrada.
Instanciação
manager.machine:ioport()
Obtém a instância do gerenciador global da porta de E/S para o sistema emulado.
Métodos
ioport:count_players()
Retorna a quantidade dos controladores do jogador no sistema.
ioport:type_pressed(tipo, [jogador])
Retorna Um valor booleano indicando se a entrada informada foi atualmente pressionada. O tipo da entrada pode ser um valor enumerado ou um tipo de acesso. Caso o tipo de acesso seja um valor enumerado, número do jogador é um índice com base zero. Se o número do jogador não for informado, será presumido que seja zero, sendo o tipo da entrada um tipo de acesso, o número do jogador não poderá ser informado de forma separada.
ioport:type_name(tipo, [jogador])
Retorna o nome da exibição para o tipo da entrada informada e o número do jogador. O tipo da entrada é um valor enumerado. O número do jogador é um índice com base zero. Se o número do jogador não for informado, será presumido que seja zero.
ioport:type_group(tipo, [jogador])
Retorna a entrada do grupo para o tipo da entrada informada e o número do jogador. O tipo da entrada é um valor enumerado. O número do jogador é um índice com base zero. Retorna um valor inteiro informando o agrupamento para a entrada. Se o número do jogador não for informado, será presumido que seja zero.
Deve ser invocado com os valores obtidos a partir dos campos da porta de E/S para informar o agrupamento canônico da configuração da entrada numa IU.
ioport:type_seq(tipo, [jogador], [tipo_da_sequência])
Obtenha a configuração do tipo da sequência da entrada para um determinado tipo de acesso, o número do jogador e o tipo da sequência. O tipo da entrada pode ser um valor enumerado ou um tipo de acesso. Caso o tipo de acesso seja um valor enumerado, o número do jogador pode ser informado como um índice com base zero, caso contrário, será presumido que seja zero, sendo o tipo da entrada um tipo de acesso, o número do jogador não poderá ser informado de forma separada. Havendo a informação do tipo da sequência, ela deve ser
"standard","increment"ou"decrement", na sua ausência, será presumido que seja"standard".Isso fornece acesso à configuração geral da entrada.
ioport:set_type_seq (tipo, [jogador], tipo_da_sequência, sequência)
Define a configuração da sequência de entrada para um determinado tipo de acesso, o número do jogador e o tipo da sequência. O tipo da entrada pode ser um valor enumerado ou um tipo de acesso. Caso o tipo de acesso seja um valor enumerado, o número do jogador pode ser informado como um índice com base zero, sendo o tipo da entrada um tipo de acesso, o número do jogador não poderá ser informado de forma separada. A sequência deve ser
"standard","increment"ou"decrement".Isso permite que a configuração geral da entrada possa ser definida.
ioport:token_to_input_type(string)
Retorna uma string com o tipo da entrada e o número do jogador para o tipo da entrada do token informado.
ioport:input_type_to_token(tipo, [jogador])
Retorna uma string do token para o tipo da entrada informada e o número do jogador. Se o número do jogador não for informado, será presumido que seja zero.
Propriedades
ioport.types[ ] (somente leitura)
Obtém o tipo de acesso compatível. As teclas são índices arbitrários. Todas as operações compatíveis possuem complexidade O(1).
ioport.ports[ ]
Obtém a emulação da porta de E/S no sistema. Chaves são tags absolutas. Os métodos
ate oindex_oftêm complexidade O(n); todas as outras operações compatíveis têm complexidade O(1).
Gerenciador de teclado natural
Encapsula a classe natural_keyboard do MAME que gerencia o teclado emulado e as
entradas do teclado.
Instanciação
manager.machine.natkeyboard
Obtém a instância do gerenciador do teclado natural global para o sistema que está sendo emulado.
Métodos
natkeyboard:post(texto)
Publique um texto literal no sistema emulado. O sistema deve ter uma entrada de teclado com os caracteres vinculados e o dispositivo correto da entrada do teclado deve estar ativado.
natkeyboard:post_coded(texto)
Publique o texto no sistema que está sendo emulado. Os códigos entre chaves são interpretados no texto. O sistema deve ter as entradas do teclado com os caracteres vinculados e o dispositivo correto da entrada do teclado deve estar ativado.
Os códigos reconhecidos são
{BACKSPACE},{BS},{BKSP},{DEL},{DELETE},{END},{ENTER},{ESC},{HOME},{INS},{INSERT},{PGDN},{PGUP},{SPACE},{TAB},{F1},{F2},{F3},{F4},{F5},{F6},{F7},{F8},{F9},{F10},{F11},{F12}e{QUOTE}.
natkeyboard:paste()
Publique o conteúdo da área de transferência do host no sistema emulado. O sistema deve ter as entradas do teclado com caracteres vinculados e o dispositivo correto da entrada do teclado deve estar ativado.
natkeyboard:dump()
Retorna uma string com uma descrição legível do teclado e dos dispositivos de entrada do teclado numérico no sistema, se eles estão ativados e os seus caracteres vinculados.
Propriedades
natkeyboard.empty (somente leitura)
Um valor booleano que indica se o buffer da entrada do gerenciador do teclado natural está vazio.
natkeyboard.full (somente leitura)
Um valor booleano que indica se o buffer da entrada do gerenciador do teclado natural está cheio.
natkeyboard.can_post (somente leitura)
Um valor booleano que indica se o sistema emulado suporta a postagem dos dados dos caracteres através do gerenciador do teclado natural.
natkeyboard.is_posting (somente leitura)
Um valor booleano que indica se os dados postados dos caracteres estão sendo entregues ao sistema que está sendo emulado.
natkeyboard.in_use (leitura e escrita)
Um valor booleano que indica se o modo “teclado natural” está ativado. Quando O modo “teclado natural” está ativado o gerenciador do teclado natural traduz a entrada de caractere do host para pressionamentos da tecla do sistema emulado.
natkeyboard.keyboards[ ]
Obtém o dispositivo de entrada do teclado no sistema que está sendo emulado, indexado através da tag absoluta do dispositivo. O índice get tem O(n) complexidade; todas as outras operações compatíveis têm complexidade O(1).
Dispositivo de entrada do teclado
Representa um teclado ou dispositivo de entrada do teclado que é gerenciado pelo gerenciador do teclado natural. Observe que isso não é uma classe de dispositivo.
Instanciação
manager.machine.natkeyboard.keyboards[tag]
Obtém o dispositivo da entrada do teclado com a tag informada ou
nilse a tag não corresponder a um dispositivo da entrada do teclado.
Propriedades
keyboard.device (somente leitura)
O dispositivo subjacente.
keyboard.tag (somente leitura)
A tag absoluta do dispositivo subjacente.
keyboard.basetag (somente leitura)
O último componente da tag do dispositivo subjacente ou
"root"para o dispositivo raiz do sistema.
keyboard.name (somente leitura)
A descrição legível para as pessoas do tipo do dispositivo subjacente.
keyboard.shortname (somente leitura)
O identificador do tipo do dispositivo subjacente.
keyboard.is_keypad (somente leitura)
Um valor booleano que indica se o dispositivo subjacente possui as entradas do teclado numérico, mas não para a entradas do teclado. Isso é usado para determinar quais dispositivos da entrada do teclado deve ser ativado por padrão.
keyboard.enabled (leitura e escrita)
Um valor booleano que indica se as entradas do teclado e/ou do teclado numérico do dispositivo estão ativados.
Porta de E/S
Encapsula a classe ioport_port do MAME que representa uma porta emulada de E/S.
Instanciação
manager.machine.ioport.ports[tag]
Obtém uma porta de E/S emulada através da tag absoluta ou
nilcaso a tag não corresponda a uma porta de E/S.
manager.machine.devices[devtag]:ioport(porttag)
Obtém uma porta de E/S emulada através da tag relativa a um dispositivo ou
nilse não houver nenhuma porta de E/S.
Métodos
port:read()
Leia o valor de entrada atual. Retorna um número inteiro com 32 bits.
port:write(valor, máscara)
Grave nos campos da saída da porta de E/S que são configuradas na máscara informada. A máscara e o valor devem ser inteiros e com 32 bits. Observe que isso não define os valores para os campos da entrada.
port:field(máscara)
Obtenha o primeiro campo da porta de E/S correspondente aos bits que são definidos na máscara informada ou
nilse não houver nenhum campo correspondente.
Propriedades
port.device (somente leitura)
O dispositivo que possui a porta de E/S.
port.tag (somente leitura)
A etiqueta absoluta da porta E/S
port.active (somente leitura)
Uma máscara indicando quais os bits da porta E/S correspondem aos campos ativos (isto é, os bits que não utilizados ou não foram atribuídos).
port.live (somente leitura)
O estado ativo da porta de E/S.
port.fields[ ] (somente leitura)
Obtém uma tabela do campo da porta de E/S indexados por nome.
Campo da porta de E/S
Encapsula a classe ioport_field do MAME que representa um campo dentro da porta
de E/S.
Instanciação
manager.machine.ioport.ports[tag]:field(máscara)
Obtém um campo para a porta informada através dos bits da máscara.
manager.machine.ioport.ports[tag].fields[nome]
Obtém um campo para a porta informada através do nome de exibição.
Métodos
field:set_value(valor)
Define o valor do campo da porta de E/S. Para os campos digitais, o valor é comparado com zero para determinar se o campo deve estar ativo; para os campos analógicos, o valor deve estar alinhado à direita e no intervalo correto.
field:clear_value()
Limpa o valor programado excedente e restaura o comportamento regular do campo.
field:set_sensitivity(sensibilidade)
Define a sensibilidade ou o ganho para campos analógicos. Gera um erro para campos digitais.
field:set_keydelta(sensibilidade)
Define a sensibilidade para entradas digitais associadas de aumento/redução para campos analógicos. Gera um erro para campos digitais.
field:set_centerdelta(sensibilidade)
Define a velocidade com que os campos analógicos, sem quebra de linha, retornam aos seus valores predefinidos após as entradas digitais associadas de aumento/redução serem liberadas. Gera um erro para campos digitais e analógicos com quebra de linha.
field:set_analog_reverse(reverso)
Define se o valor de um campo analógico aumenta na direção oposta à convenção (por exemplo, se valores maiores são registrados quando um pedal é solto ou um joystick é movido à esquerda). Gera um erro para campos digitais.
field:set_input_seq(tipo_da_sequência, sequência)
Define a sequência de entrada para o tipo da sequência informada. Isso é usado para definir as configurações da entrada por sistema. O tipo da sequência deve ser
"standard","increment"ou"decrement".
field:input_seq(tipo_da_sequência)
Obtenha a sequência de entrada configurada para o tipo da sequência informada. Isso obtém as configurações da entrada por sistema. O tipo da sequência deve ser
"standard","increment"ou"decrement".
field:set_default_input_seq(tipo_da_sequência, sequência)
Define a sequência de entrada predefinida para o tipo da sequência informada. É usado para definir as configurações gerais da entrada. O tipo da sequência deve ser
"standard","increment"ou"decrement".
field:default_input_seq(tipo_da_sequência)
Obtém a sequência de entrada predefinida para o tipo da sequência informada. Obtém as configurações gerais da entrada. O tipo da sequência deve ser
"standard","increment"ou"decrement".
field:keyboard_codes(shift)
Obtém uma tabela dos caracteres correspondentes ao campo para o estado do shift informado. O estado do shift é uma máscara de bits das teclas ativas do shift.
Propriedades
field.device (somente leitura)
O dispositivo que possui a porta que o campo pertence.
field.port (somente leitura)
A porta de E/S que o campo pertence.
field.live (somente leitura)
O estado do campo da porta de E/S em tempo real do campo.
field.type (somente leitura)
O tipo da entrada do campo. Este é um valor enumerado.
field.name (somente leitura)
O nome da exibição do campo.
field.default_name (somente leitura)
O nome da configuração para o campo do sistema emulado (não pode ser substituído por scripts ou plug-ins).
field.player (somente leitura)
O número do jogador para o campo com base zero.
field.mask (somente leitura)
Os Bits na porta de E/S correspondente a este campo.
field.defvalue (somente leitura)
O valor predefinido do campo.
field.minvalue (somente leitura)
O valor mínimo permitido nos campos analógicos ou
nilnos campos digitais.
field.maxvalue (somente leitura)
O valor máximo permitido nos campos analógicos ou
nilnos campos digitais.
field.sensitivity (somente leitura)
A sensibilidade ou ganho para os campos analógicos ou
nilnos campos digitais.
field.default_sensitivity (somente leitura)
A sensibilidade ou ganho padrão para os campos analógicos ou
nilnos campos digitais.
field.keydelta (somente leitura)
A sensibilidade às entradas digitais correspondentes de aumento/redução para campos analógicos ou
nilnos campos digitais.
field.default_keydelta (somente leitura)
A sensibilidade padrão às entradas digitais correspondentes de aumento/redução para campos analógicos ou
nilnos campos digitais.
field.centerdelta (somente leitura)
A velocidade com que os campos analógicos sem quebra de linha retornam aos seus valores predefinidos após as entradas digitais de aumento/redução associadas serem liberadas, ou
nilpara campos digitais e campos analógicos com quebra de linha.
field.default_centerdelta (somente leitura)
A velocidade padrão na qual os campos analógicos sem quebra de linha retornam aos seus valores predefinidos após as entradas digitais de aumento/redução associadas serem liberadas, ou
nilpara campos digitais e campos analógicos com quebra de linha.
field.analog_reverse (somente leitura)
Um valor booleano que indica se o valor aumenta na direção oposta à convenção para campos analógicos (por exemplo, valores maiores quando um pedal é solto ou um joystick é movido à esquerda) ou
nilpara campos digitais.
field.default_analog_reverse (somente leitura)
Um valor booleano que indica se o campo corresponde a um controle analógico que, por padrão, aumenta na direção oposta à convenção (por exemplo, valores maiores quando um pedal é solto ou movido à esquerda), ou
nilpara campos digitais.
field.way (somente leitura)
A quantidade das direções permitidas através do restritor da placa/portão para um joystick digital ou zero (
0) para as outras entradas.
field.type_class (somente leitura)
O tipo da classe para o campo da entrada para um dos
"keyboard","controller","config","dipswitch"ou"misc".
field.is_analog (somente leitura)
Um valor booleano que indica se o campo é um eixo analógico ou controle posicional.
field.is_digital_joystick (somente leitura)
Um valor booleano que indica se o campo corresponde ao comutador de um joystick digital.
field.enabled (somente leitura)
Um valor booleano que indica se o campo está ativado.
field.cocktail (somente leitura)
Um valor booleano que indica se o campo é usado apenas quando o sistema é configurado para um gabinete de mesa tipo coquetel.
field.toggle (somente leitura)
Um valor booleano que indica se o campo corresponde a uma botão do hardware tipo liga/desliga ou um botão de pressão.
field.analog_reset (somente leitura)
Um valor booleano que indica se o campo corresponde a um aumento da posição da entrada (por exemplo, um dial ou eixo do trackball) que deve ser redefinida para zero para cada quadro do vídeo.
field.analog_wraps (somente leitura)
Um valor booleano que indica se o campo corresponde a uma entrada analógica que encapsula a partir de uma extremidade da sua faixa para a outra (por exemplo, uma posição incremental como a entrada de um dial ou o eixo do trackball).
field.analog_invert (somente leitura)
Um valor booleano que indica se o campo corresponde a uma entrada analógica que tem o seu valor complementado.
field.impulse (somente leitura)
Um valor booleano que indica se o campo corresponde a uma entrada digital que é ativado por um determinado período de tempo fixo.
field.crosshair_scale (somente leitura)
O fator de escala para traduzir o intervalo do campo para a posição da mira. Um valor de um (
1) que traduz o intervalo total do campo para a largura total ou altura da tela.
field.crosshair_offset (somente leitura)
O offset para traduzir o intervalo do campo para a posição da mira.
field.user_value (leitura e escrita)
O valor da chave DIP ou das definições da configuração.
field.settings[ ] (somente leitura)
Obtém uma tabela das configurações ativadas atualmente para um interruptor DIP ou o campo de configuração, indexado por valor.
Estado do campo da porta de E/S em tempo real
Encapsula a classe ioport_field_live do MAME que representa o estado em tempo
real de uma porta de E/S.
Instanciação
manager.machine.ioport.ports[tag]:field(máscara).live
Obtém o estado em tempo real para um campo da porta de E/S.
Propriedades
live.name
O nome da exibição do campo.
Tipo da entrada
Envelopa a classe input_type_entry do MAME, faz a representação do
tipo de acesso ou do tipo de acesso da interface do usuário no emulador.
Os tipo de acesso são identificados de forma única através da combinação
do índice do jogador e do tipo do valor da sua enumeração.
Instanciação
manager.machine.ioport.types[índice]
Obtém um tipo de acesso compatível.
Propriedades
type.type (somente leitura)
Um valor enumerado que representa o tipo de acesso.
type.group (somente leitura)
Um valor inteiro que fornece o agrupamento para o tipo de acesso. Deve ser utilizado para fornecer um agrupamento canônico numa configuração de entrada da interface do usuário (IU).
type.player (somente leitura)
Número do jogador com base zero ou zero para controles não relacionados com o jogador.
type.token (somente leitura)
A string de um token para o tipo de acesso, usado nos arquivos de configuração.
type.name (somente leitura)
O nome do tela para o tipo de acesso.
type.is_analog (somente leitura)
Retorna Um valor booleano indicando se o tipo de acesso é analógico ou digital. As entradas que possuam apenas as condições ligado ou desligado são consideradas digitais, enquanto todas as outras são consideradas analógicas ainda que elas representem apenas valores discretos ou posições.
Gerenciador da entrada
Encapsula a classe input_manager do MAME que lê os dispositivos da entrada do
host e verifica se as entradas configuradas estão ativas.
Instanciação
manager.machine:input()
Obtém a instância global do gerenciador da entrada para o sistema que está sendo emulado.
Métodos
input:code_value(código)
Obtém o valor atual para a entrada do host correspondente ao código informado. Retorna um valor inteiro assinado onde zero é a posição neutra.
input:code_pressed(código)
Retorna Um valor booleano indicando se o código informado da entrada do host correspondente tem um valor diferente de zero (ou seja, não é uma posição neutra).
input:code_pressed_once(código)
Retorna Um valor booleano indicando se o código informado da entrada do host correspondente saiu da posição neutra desde a última vez que foi verificado através desta função. O gerenciador da entrada pode rastrear uma quantidade de entradas desta forma.
input:code_name(código)
Obtenha o nome de exibição para um código da entrada.
input:code_to_token(código)
Obtenha a string do token para um código da entrada. Isso deve ser usado ao salvar uma configuração.
input:code_from_token(token)
Converta uma string do token num código de entrada. Retorna o código de entrada inválido se o token não for válido ou caso pertença a um dispositivo de entrada que não está presente.
input:seq_pressed(sequência)
Retorna Um valor booleano indicando se a sequência da entrada informada foi realmente pressionada.
input:seq_clean(sequência)
Remova os elementos inválidos da sequência da entrada informada. Retorna uma nova, sequência limpa da entrada.
input:seq_name(sequência)
Obtenha o texto de exibição para uma sequência da entrada.
input:seq_to_tokens(sequência)
Converta uma sequência da entrada numa string token. Isso deve ser usado quando for salvar na configuração.
input:seq_from_tokens(tokens)
Converta uma string token numa sequência da entrada. Isso deve ser usado quando for carregar uma configuração.
input:axis_code_poller()
Retorna um código da condição da entrada para obter um código da entrada do host analógico.
input:switch_code_poller()
Retorna um código da condição da entrada para obter um código da entrada do interruptor do host.
input:keyboard_code_poller()
Retorna um código da condição da entrada para a obtenção de um código da entrada do interruptor do host que considera apenas a entrada dos dispositivos do teclado.
input:axis_sequence_poller()
Retorna uma sequência da condição da entrada para obter uma sequência da entrada para configurar uma entrada analógica.
input:axis_sequence_poller()
Retorna uma sequência da condição da entrada para obter uma sequência da entrada para configurar uma entrada digital.
Propriedades
input.device_classes[ ] (somente leitura)
Pega uma tabela host host da classe do dispositivo da entrada indexada por nome.
Código da condição da entrada
Encapsula a classe input_code_poller do MAME que é usada para pesquisar as
entradas do host que estão sendo ativadas.
Instanciação
manager.machine.input:axis_code_poller()
Retorna uma condição do código da entrada que pesquisa as entradas analógicas que estão sendo ativadas.
manager.machine.input:switch_code_poller()
Retorna uma condição do código da entrada que pesquisa as entradas do interruptor do host que estão sendo ativadas.
manager.machine.input:keyboard_code_poller()
Retorna uma condição do código da entrada que pesquisa as entradas do interruptor do host que estão sendo ativadas, considerando apenas os dispositivos da entrada do teclado.
Métodos
poller:reset()
Redefine a lógica da pesquisa. As entradas do interruptor ativo são apagadas e as entradas das posições analógica são definidas.
poller:poll()
Retorna um código da entrada correspondente à primeira entrada relevante do host que foi ativado desde a última vez que o método foi invocado. Retorna um código de entrada inválido caso nenhuma entrada relevante tenha sido ativada.
Sequência da condição da entrada
Encapsula a classe da condição input_sequence_poller do MAME que permite que os
usuários atribuam combinações na entrada do host para as entradas
emuladas e outras ações.
Instanciação
manager.machine.input:axis_sequence_poller()
Retorna uma condição da sequência da entrada para atribuir as entradas do host a uma entrada analógica.
manager.machine.input:switch_sequence_poller()
Retorna uma condição da sequência da entrada para atribuir as entradas do host a entrada de um interruptor.
Métodos
poller:start([seq])
Comece a obter. Caso uma sequência seja fornecida, ela será usada como uma sequência inicial para entradas analógicas, o usuário pode alternar entre a faixa completa e as porções positivas e negativas de um eixo; para as entradas do interruptor, um código “or” é anexado e o usuário pode adicionar uma combinação alternativa da entrada do host.
poller:poll()
Obtém a entrada do usuário e atualiza a sequência, caso seja apropriado. Retorna Um valor booleano que indica se a entrada da sequência está completa. Se este método retornar falso, você deve continuar com o processo de obtenção.
Propriedades
poller.sequence (somente leitura)
A sequência da entrada atual. É atualizado durante o processo de obtenção. É possível para que a sequência se torne inválida.
poller.valid (somente leitura)
Um valor booleano que indica se a sequência da entrada atual é válida.
poller.modified (somente leitura)
Um valor booleano que indica se a sequência foi alterada através de alguma entrada do usuário desde o início do processo.
Sequência da entrada
Encapsula a classe input_seq do MAME que representa a combinação das entradas
do host que possam ser lidos ou designados para uma determinada
entrada da emulação. As sequências da entrada podem ser manipuladas
usando os métodos do
gerenciador da entrada.
Use um
obtentor da sequência de entrada
para obter uma sequência da entrada a partir do usuário.
Instanciação
emu.input_seq()
Cria uma sequência vazia da entrada.
emu.input_seq(seq)
Cria uma cópia de uma sequência já existente da entrada.
Métodos
seq:reset()
Limpa a sequência da entrada, removendo todos os itens.
seq:set_default()
Define a sequência da entrada num único item contendo o valor meta que definindo qual a configuração padrão deve ser usada.
Propriedades
seq.empty (somente leitura)
Um valor booleano indicando se a sequência da entrada está vazia (não possui quaisquer itens, indicando uma entrada sem atribuição).
seq.length (somente leitura)
A quantidade dos itens na sequência da entrada.
seq.is_valid (somente leitura)
Um valor booleano indicando se a sequência da entrada é válida. Para ser válido, deve conter pelo menos um item, todos os itens devem possuir códigos válidos, todos os grupos dos produtos devem conter pelo menos um item que não seja negado e os itens referentes aos eixos absolutos e relativos não devem ser misturados dentro de um grupo de produtos.
seq.is_default (somente leitura)
Um valor booleano indicando se a sequência da entrada define se a configuração deve ser usada.
Host da classe do dispositivo da entrada
Encapsula a classe input_class do MAME que representa uma categoria da entrada
do host dos dispositivos (por exemplo, teclados ou joysticks).
Instanciação
manager.machine.input.device_classes[nome]
Obtém uma entrada da classe do dispositivo por nome.
Propriedades
devclass.name (somente leitura)
O nome da classe do dispositivo.
devclass.enabled (somente leitura)
Um valor booleano que indica se a classe do dispositivo está ativo.
devclass.multi (somente leitura)
Um valor booleano que indica se a classe do dispositivo oferece suporte a vários dispositivos ou as entradas de todos os dispositivos da classe são combinadas e tratadas como um único dispositivo.
devclass.devices[ ] (somente leitura)
Obtém uma tabela host do dispositivo da entrada na classe. As chaves são os índices com base
1.
Host do dispositivo da entrada
Encapsula a classe input_device do MAME que representa um dispositivo da
entrada do host.
Instanciação
manager.machine.input.device_classes[nome].devices[índice]
Obtém um dispositivo de entrada específica de um host.
Propriedades
inputdev.name (somente leitura)
Nome da exibição do dispositivo. Não há garantia de que isso seja exclusivo.
inputdev.id (somente leitura)
A string do identificador exclusivo para o dispositivo. Isso pode não ser legível para as pessoas.
inputdev.devindex (somente leitura)
O índice do dispositivo dentro da classe de dispositivo. Isso não é necessariamente o mesmo que o índice na propriedade
devicesda classe do dispositivo o índice dodevindexpodem não ser contíguos.
inputdev.items (somente leitura)
Obtém as tabelas host do item do dispositivo da entrada, indexado através da ID do item. A ID do item é um valor enumerado.
Host do item do dispositivo da entrada
Encapsula a classe input_device_item do MAME que representa uma única entrada
do host (por exemplo uma chave, botão ou eixo).
Instanciação
manager.machine.input.device_classes[nome].devices[índice].items[id]
Obtém um item individual da entrada do host. A ID do item é um valor enumerado.
Propriedades
item.name (somente leitura)
O nome da exibição da entrada do item. Observe que este é apenas o nome do próprio item que não inclui o nome do dispositivo. O nome completo da exibição para o item pode ser obtido ao invocar o método
code_nameno gerenciador da entrada com o código do item.
item.code (somente leitura)
O código de identificação da entrada do item. Isso é usado por vários métodos do gerenciador da entrada.
item.token (somente leitura)
A string token do item da entrada. Observe que este é um fragmento do token para o próprio item que não inclui a parte do dispositivo. O token completo para o item pode ser obtido ao invocar o método
code_to_tokenno gerenciador da entrada com o código do item.
item.current (somente leitura)
O valor atual do item. Este é um número inteiro assinado onde zero é a posição neutra.
Gerenciador da entrada da IU
Encapsula a classe ui_input_manager do MAME que é usada para a entrada de alto
nível.
Instanciação
manager.machine.uiinput
Obtém a instância do gerenciador da entrada global da IU para a sistema.
Métodos
uiinput:reset()
Limpa os eventos pendentes e os estados da interface de entrada do usuário. Deve ser chamado ao encerrar o modo de um estado onde a entrada é tratada diretamente (ao configurar uma combinação de entrada por exemplo).
uiinput:pressed(tipo)
Retorna Um valor booleano indicando se a entrada da IU informada foi pressionada. O tipo da entrada é um valor enumerado.
uiinput:pressed_repeat(tipo, velocidade)
Retorna Um valor booleano indicando se a entrada da IU informada foi pressionada ou a repetição automática foi disparada na velocidade informada. O tipo da entrada é um valor enumerado; a velocidade é um intervalo em sessenta avos de um segundo.
Propriedades
uiinput.presses_enabled (leitura e escrita)
Se o gerenciador da entrada da IU verificará se há atualizações do quadro das entradas da IU.