Vai al contenuto
PLC Forum


Come So Che Shift Lock è Attivo Su Win


Messaggi consigliati

Inserito:

Ciao a tutti,

Un mio amico e collega mi ha posto un quesito a cui io non ho saputo dare risposta.

Mi ha chiesto se e come è possible sapere, su un PC in cui gira un SO Microsoft, lo stato dello SHIFT-LOCK, ovvero il tastino con il lucchetto alla ns sx.

Secondo lui addirittura c'è una locazione di memoria gestita non dal SO ma dal bios della MotherBoard in cui è possibile leggere questa condizione, come altre che riguardano sempre e comunque la tastiera.

Leggendo quella locazione, si riuscirebbe ad avere una interfaccia utente per il proprio applicativo

Inoltre mi ha chiesto se c'è uno standard che definisca l'output fisico di una tastiera ovvero, prima che entri nel PC direttamente dal connettore DIN 5poli per le At ed invece mini DIN PS/2 per le ATX.

Saluti e Grazie


Inserita: (modificato)
Mi ha chiesto se e come è possible sapere, su un PC in cui gira un SO Microsoft, lo stato dello SHIFT-LOCK, ovvero il tastino con il lucchetto alla ns sx.

Modificato: da mircoelektra
Inserita:

ecco tutto quanto puo' servire per scrivere un bel programmino in assembly a livello bios (basso!) per leggere lo stato dei tasti di shift... ! buon lavoro! io avevo fatto una cosa simile che leggeva il num lock .... poi mi e' fumato l'hard disk e ho perso tutto....

comunque per queste cose l'assembly rimane sempre il top.

ciao

 GESTIONE TASTI INT 16H: (AH=12H) Legge i tasti di shift ESTESI        [09/09]

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Funzione BIOS per la TASTIERA                                              ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
_16_12: MOV     AH,12H       ;Funzione BIOS INT 16H adatta alle  Tastiere  di
        INT     16H          ;tipo "Enhanced" (vedere la variabile di sistema
                             ;0000:0496H per  sapere  se essa Š disponibile);
                             ;restituisce lo stato dei tasti  SPECIALI  della
                             ;tastiera, lasciato in  AL (e  disponibile ANCHE
                             ;nella variabile di sistema 0000:0417H) e in AH;
                             ;da notare che il registro AH  controlla in modo
                             ;DIVERSO taluni tasti gi… controllati da AL, ri-
                             ;levandone la PRESSIONE anzicch‚ il  loro  stato
                             ;ATTIVO; inoltre la variabile 0000:0418H,  anche
                             ;essa relativa allo stato degli "Shift Enhanced"
                             ;porta informazioni NON  ESATTAMENTE  corrispon-
                             ;denti a quelle disponibili in uscita in AH:

                             ;   ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ[Shift Status]ÄÄÄÄÄÄÄÄ¿
                             ;   ³ 76543210 ³ AL ð variabile [0000:0417H] ³
                             ;   ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
                             ;  Ú³ 0....... ³ Insert            commutato ³
                             ; Ú´³ .0...... ³þCaps Lock         commutato ³
                             ; ³³³ ..0..... ³þNum Lock          commutato ³
                             ; ³À³ ...0.... ³þScroll Lock       commutato ³
                             ; ³ ³ ....1... ³ Alt                 premuto ³¿
                             ; ³ ³ .....1.. ³ Ctrl                premuto ³Ã¿
                             ; ³ ³ ......1. ³ Left Shift          premuto ³³³
                             ; ³ ³ .......1 ³ Right Shift         premuto ³Ù³
                             ; ³ ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
                             ; ÀÄÄ[1 = DISATTIVATO]    [0 = NON PREMUTO]ÄÄÄÄÙ
                       ; ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ[Extended Shift Status]ÄÄÄÄÄÄÄÄÄ¿
                       ; ³76543210³    registro AH     ÷ variab.[0000:0418H]³
                       ; ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
                       ; ³1.......³ Sys Req     premuto³Ins         premuto ³
                       ; ³.1......³þCaps Lock   premuto³Caps Lock   premuto ³
                       ; ³..1.....³þNum Lock    premuto³Num Lock    premuto ³
                       ; ³...1....³þScroll Lock premuto³Scroll Lock premuto ³
                       ; ³....1...³ Right Alt   premuto³Pause (*) commutato ³
                       ; ³.....1..³ Right Ctrl  premuto³SysReq      premuto ³
                       ; ³......1.³ Left Alt    premuto³Left Alt    premuto ³
                       ; ³.......1³ Left Ctrl   premuto³Right Ctrl  premuto ³
                       ; ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
                       ; ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
                       ;(*) NB:" Pause " = " Ctrl+Num Lock " =Hold commutato³
                       ; ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

                             ;Ú[NB]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
                             ;³La funzione  02H  Š la  versione  standard di³
                             ;³questo Servizio ed assicura SOLO lo stato dei³
                             ;³tasti SPECIALI delle tastiere NORMALI lascia-³
                             ;³ti SOLO in AL (e quindi i dati di AH non sono³
                             ;³disponibili)                                 ³
                             ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

per visualizzarlo correttamente devi copiare, incollare e applicare il carattere che ho allegato... altrimenti non vedi i caratteri cornice ma solo delle A balorde

ciao nicola

  • 2 weeks later...
Inserita: (modificato)

Ciao!

i allego uno .zip che contiene

- file eseguibile con programmino che legge lo stato del CAPS LOCK

- sorgente in .TXT del programmino che legge lo stato del CAPS LOCK

- file eseguibile con programmino che legge lo stato del SHIFT SINISTRO

- sorgente in .TXT del programmino che legge lo stato del SHIFT SINISTRO

- carattere GIOBE.TTF per leggere correttamente i caratteri cornice nei sorgenti

(da copiare in C:\Windows\Fonts)

Ciaoo!

Fammi sapere

buona serata,

ps. se ti interessa anche gli altri tasti di shift fammi sapere (es. alt, ctrl, ins ecc)

Modificato: da nicola1

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...