AppendixC Keyboard Scan Codes
- 格式:pdf
- 大小:42.41 KB
- 文档页数:10
键盘扫描码一. 键盘的构造及历史对于键盘,如果想要表示某个按键,硬件上对应着某个点,有两种方法。
一种是对于每个按键,都设计一个硬件的点。
一种是设计成矩阵式,即由多少行,多少列所组成。
举例说明:某个键盘一共需要35个按键。
前者是要设计35个硬件上的点。
后者只需要设计7行5列即可实现7×5=35个按键。
行列的矩阵式,比独立的点的方式,硬件上更容易实现。
矩阵式的键盘普通PC上的键盘,由于按键太多,为了之后的普及和通用性,要有个统一的标准,去定义哪个键值对应到键盘上的哪个按键。
因此,才会出现扫描码Scan Code。
二. 键盘中的扫描码Scan Code从按下一个键盘上的字母,到手松开,实际上对应着一个通码Make Code和一个断码Break Code,两者概念上都属于扫描码ScanCode。
对应的按下键的动作产生的键码叫做通码Make Code。
释放的时候电路被断开产生的键码叫做断码Break Code。
三. 扫描码集合Scan Code Set目前现存有3种Scan Code即,Scan Code Set1(第一种扫描码集合)。
Scan Code Set2。
Scan Code Set3。
四. 第一种扫描码集合Set1的Scan Code的Make Code和Break Code都是单字节。
Make code和Break Code的差别就在最高位,即Break code = make code + 0x80将make code的最高位置1就是Break Code。
五. 键盘常见流程(1)用户按下键盘上的某个键(2)键盘的硬件产生Scan Code,其中目前常见的AT键盘中用的是Set2的Scan Code。
按下是Make Code,释放是Break Code (3)键盘的控制器将Set2的Scan Code转化为Set1的Scan Code。
A. 此处是为了兼容旧的Scan Code Set1才去将Set2转为Set1。
Besponsa™ (inotuzumab ozogamicin)(Intravenous)Document Number: IC-0317 Last Review Date: 10/24/2022Date of Origin: 09/19/2017Dates Reviewed: 09/2017, 11/2018, 11/2019, 11/2020, 11/2021, 07/2022, 11/2022Customized Date: 07/20/2022Effective Date: 01/01/2023I.Length of AuthorizationCoverage will be provided for 6 months (for up to a maximum of 6 cycles) and may not berenewed.II.Dosing LimitsA.Quantity Limit (max daily dose) [NDC Unit]:•Besponsa 0.9 mg powder for injection single-dose vial: 7 vials per 21 daysB.Max Units (per dose and over time) [HCPCS Unit]:Cycle 1•27 billable units (2.7 mg) on Day 1, 18 billable units (1.8 mg) on Days 8 and 15 of a 21 to 28-day cycleSubsequent Cycles (maximum of 5 cycles)•27 billable units (2.7 mg) on Day 1, 18 billable units (1.8 mg) on Days 8 and 15 of a 28-day cycle for up to 2 cycles•18 billable units (1.8 mg) on Day 1, Day 8, and Day 15 of a 28-day cycle for up to 3 cycles III.Initial Approval Criteria 1Coverage is provided in the following conditions:•Baseline electrocardiogram (ECG) is within normal limits; AND•Patient has not previously received treatment with inotuzumab ozogamicin; ANDUniversal Criteria 1-3•Patient has CD22-positive disease; ANDAdult B-Cell Precursor Acute Lymphoblastic Leukemia (ALL) † Ф 1-3•Patient is at least 18 years of age; ANDo Patient has relapsed or refractory disease; AND▪Used as single agent therapy; OR▪Used in combination with mini-hyper CVD (cyclophosphamide, dexamethasone, vincristine, methotrexate, cytarabine); AND➢Patient is Philadelphia chromosome (Ph)-negative; OR➢Patient is Philadelphia chromosome (Ph)-positive and refractory to prior tyrosine kinase inhibitor therapy (e.g., imatinib, dasatinib, ponatinib,nilotinib, bosutinib, etc.); OR▪Used in combination with tyrosine kinase inhibitor (TKI) therapy (e.g., bosutinib, dasatinib, imatinib, nilotinib, or ponatinib); AND➢Patient is Philadelphia chromosome (Ph)-positive; ORo Used as induction therapy in patients ≥65 years of age or with substantial comorbidities; AND▪Used in combination with mini-hyper CVD; AND▪Patient is Philadelphia chromosome (Ph)-negativePediatric B-Cell Precursor Acute Lymphoblastic Leukemia (ALL) ‡ 3,4•Patient is at least 2 years of age; AND•Patient has relapsed or refractory disease; AND•Used as single agent therapy; ANDo Patient is Philadelphia chromosome (Ph)-negative; ORo Patient is Philadelphia chromosome (Ph)-positive; AND▪Patient is intolerant or refractory to prior tyrosine kinase inhibitor (TKI) therapy(e.g., imatinib, dasatinib, etc.)† FDA Approved Indication(s); ‡ Compendium Recommended Indication(s);Ф Orphan DrugIV.Renewal Criteria 1Coverage cannot be renewed.V.Dosage/Administration 1VI.Billing Code/Availability InformationHCPCS Code:•J9229 − Injection, inotuzumab ozogamicin, 0.1 mg: 1 billable unit = 0.1 mgNDC:•Besponsa 0.9 mg lyophilized powder in single-dose vial: 00008-0100-xxVII.References1.Besponsa [package insert]. Philadelphia, PA; Pfizer Inc., March 2018. Accessed September2022.2.Kantarjian HM, DeAngelo DJ, Stelljes M, et al. Inotuzumab Ozogamicin versus StandardTherapy for Acute Lymphoblastic Leukemia. N Engl J Med. 2016 Aug 25;375(8):740-53.3.Referenced with permission from the NCCN Drugs & Biologics Compendium (NCCNCompendium®) inotuzumab ozogamicin. National Comprehensive Cancer Network,2022. The NCCN Compendium® is a derivative work of the NCCN Guidelines®.NATIONAL COMPREHENSIVE CANCER NETWORK®, NCCN®, and NCCNGUIDELINES® are trademarks owned by the National Comprehensive Cancer Network, Inc. To view the most recent and complete version of the Compendium, go online to. Accessed September 2022.4.Bhojwani D, Sposto R, Shah NN, et al. Inotuzumab ozogamicin in pediatric patients withrelapsed/refractory acute lymphoblastic leukemia [published correction appears inLeukemia. 2019 Mar 7;:]. Leukemia. 2019;33(4):884–892. doi:10.1038/s41375-018-0265-z. Appendix 1 – Covered Diagnosis CodesAppendix 2 – Centers for Medicare and Medicaid Services (CMS)Medicare coverage for outpatient (Part B) drugs is outlined in the Medicare Benefit Policy Manual (Pub. 100-2), Chapter 15, §50 Drugs and Biologicals. In addition, National Coverage Determination (NCD), Local Coverage Articles (LCAs), and Local Coverage Determinations (LCDs) may exist and compliance with these policies is required where applicable. They can be found at: https:///medicare-coverage-database/search.aspx. Additional indications may be covered at the discretion of the health plan.Medicare Part B Covered Diagnosis Codes (applicable to existing NCD/LCA/LCD): N/A。
Spravato™ (esketamine)(Intranasal)Document Number: IC-0481 Last Review Date: 10/01/2020Date of Origin: 05/13/2019Dates Reviewed: 05/2019, 07/2019, 02/2020, 10/2020I.Length of Authorization•Initial: 4 weeks•Renewal: 4 weeks for first renewal; 3 months for subsequent renewalsII.Dosing LimitsA.Quantity Limit (max daily dose) [Pharmacy Benefit]:•Induction (weeks 1 to 4): 2 kits/week (84 mg kit); (one 56 mg kit Day 1)•Maintenance (weeks 5 to 8): 1 kit/week (84 mg kit)B.Max Units (per dose and over time) [Medical Benefit]:Treatment Resistant Depression−Induction (weeks 1 to 4): 84 mg twice weekly (56 mg Day 1)−Maintenance (weeks 5 to 8): 84 mg weeklyMajor Depressive Disorder (MDD)− 2 kits (84 mg kit) weeklyIII.Initial Approval Criteria•Patient is at least 18 years old; AND•Patient has a Diagnostic and Statistical Manual of Mental Disorders (DSM-5) diagnosis of major depressive disorder (MDD); AND•Patient must have a baseline assessment using any validated depression rating scale (e.g., Montgomery-Asberg Depression Rating Scale [MADRS], Hamilton Depression Rating Scale[HAM-D], Patient Health Questionnaire Depression Scale [PHQ-9], Beck DepressionInventory [BDI]); AND•Esketamine is prescribed by or in consultation with a psychiatrist or psychiatric mental health nurse practitioner (PMHNP); AND•Patient must NOT have a current or prior DSM-5 diagnosis of any of the following: o Concomitant psychotic disorder; ORo MDD with psychosis; ORo Bipolar or related disorders; ORo Obsessive compulsive disorder (OCD); ORo History of moderate to severe substance or alcohol use disorder; ORo Personality disorder; AND•Patient must NOT have any of the following conditions:o Aneurysmal vascular disease; ORo Arteriovenous malformation; ORo History of intracerebral hemorrhage; ORo Uncontrolled hypertension (greater than 140/90 mmHg in patients less than 65 years old or greater than 150/90 mmHg in patients 65 or older); AND•Patient must NOT be pregnant; AND•Patient must NOT have intellectual disability; AND•Patient must NOT have known hypersensitivity to any component of the product; AND •Patient is NOT receiving concomitant ketamine therapy; AND•Patient must be taking esketamine in conjunction with an antidepressant medication (esketamine is not to be used as monotherapy); AND•Attestation that prescriber’s healthcare setting is certified in the Spravato Risk Evaluation and Mitigation Strategies (REMS) program; AND•Attestation that the prescriber will check blood pressure prior to each visit AND is capable of monitoring patient as directed following administration, ensuring patient has been stable for at least 2 hours, with baseline or decreasing blood pressure, prior to cessation ofmonitoring; AND•Prescriber attestation that he/she has reviewed the dosing schedule with the patient; AND •Prescriber attestation that patient understands and is committed to receiving scheduled doses AND has the capability of being available twice a week with adequate transportation to and from treatment facility; ANDTreatment-Resistant Depression (TRD) †•Patient has a history of adherence with oral therapy (compliant with at least 80% of their doses as evident by refill history or prescriber attestation during current depressiveepisode); AND•Patient has failed a trial of antidepressant augmentation therapy for a duration of at least 6weeks in the current depressive episode with at least 1 of the following, unlesscontraindicated or clinically significant adverse effects are experienced (see ‘failed trial’ asdefined above):o An antidepressant from a different class; ORo An atypical antipsychotic; ORo Lithium; AND•Patient has tried psychotherapy alone or in combination with oral antidepressants, if psychotherapy resource available; AND•Patient must NOT have failed prior ketamine treatment for MDD; AND•Patient is NOT receiving concomitant electroconvulsive therapy (ECT), transcranial magnetic stimulation (TMS), vagus nerve stimulation (VNS), or deep brain stimulation(DBS); AND•Patient has failed a trial of at least 2 antidepressants of different classes for a duration of at least 6 weeks each at generally accepted doses in the current depressive episode, unlesscontraindicated or clinically significant adverse effects are experienced (‘Failed trial’ isdefined as less than 50% reduction in symptom severity using any validated depressionrating scale)Depressive Symptoms In Patients With Major Depressive Disorder (MDD) With Acute Suicidal Ideation/Behavior †•Patient must meet criteria for acute inpatient hospitalization per prescriber attestation; OR •Patient has recently been discharged from a hospital in which treatment with esketamine has been initiated† FDA Approved Indication(s)IV.Renewal Criteria•Patient must continue to meet the above criteria; AND•Patient has not experienced unacceptable toxicity (dissociation, cognitive impairment, etc.);AND•Prescriber attestation that patient has committed to receiving all scheduled doses thus far in treatment and will continue to do so; AND•Patient must demonstrate disease improvement and/or stabilization as a result of the medication, as documented by a 50% reduction in symptom severity using any validateddepression rating scale.V.Dosage/AdministrationDoseTreatment- resistant depression (TRD) Induction (administer twice per week):•Day 1: 56 mg•Weeks 1 to 4 subsequent doses: 56 mg or 84 mg Maintenance:•Weeks 5 to 8: 56 mg or 84 mg once weekly•Weeks 9 and after: 56 mg or 84 mg once every 2 weeks or once weekly** Dosing frequency should be individualized to the least frequent dosing to maintain remission/response.Major Depressive Disorder (MDD) Administer Spravato in conjunction with an oral antidepressant (AD).−The recommended dosage of Spravato for the treatment ofdepressive symptoms in adults with MDD with acute suicidalideation or behavior is 84 mg twice per week for 4 weeks.−Dosage may be reduced to 56 mg twice per week based ontolerability.−After 4 weeks of treatment with Spravato, evidence of therapeutic benefit should be evaluated to determine need for continuedtreatment.−The use of Spravato, in conjunction with an oral antidepressant,beyond 4 weeks has not been systematically evaluated in thetreatment of depressive symptoms in patients with MDD with acute suicidal ideation or behavior.VI.Billing Code/Availability InformationHCPCS:•J3490 – Unclassified drugs•S0013 – Esketamine, nasal spray, 1 mg: 1 billable unit = 1 mg•*G2082 – Office or other outpatient visit for the evaluation and management of an established patient that requires the supervision of a physician or other qualified healthcare professional and provision of up to 56 mg of esketamine nasal self-administration,includes 2 hours post-administration observation•*G2083 – Office or other outpatient visit for the evaluation and management of an established patient that requires the supervision of a physician or other qualified healthcare professional and provision of greater than 56 mg esketamine nasal self-administration,includes 2 hours post-administration observation* Required for Medicare part B claims. For non-Medicare, those that do not accept the G Codes, providers may continue to report separate codes for the drug and service using the miscellaneous drug code (J3490– unclassified drug) for Spravato and the most appropriate E/M CPT® code for the service.NDC:•56 mg Dose Kit: Unit-dose carton containing two 28 mg nasal spray devices (56 mg total dose): 50458-0028-xx•84 mg Dose Kit: Unit-dose carton containing three 28 mg nasal spray devices (84 mg total dose): 50458-0028-xxVII.References1.Spravato [dossier]. Titusville, NJ; Janssen; July 2020.2.Papakostas GI. Incidence, impact, and current management strategies for treatment-resistant major depressive disorder. Medscape. Available at:https:///viewarticle/574817_1. Accessed May 3, 2019.3.American Psychiatric Association Work Group on Major Depressive Disorder. Practiceguideline for the treatment of patients with major depressive disorder. 3rd ed. October 2010.Available at:https:///pb/assets/raw/sitewide/practice_guidelines/guidelines/mdd.pdf.Accessed May 3, 2019.4.Major Depression. National Institute of Mental Health. Available at:https:///health/statistics/major-depression.shtml. Accessed May 3, 2019.5.Johnston KM, Powell LC, Anderson IM, et al. The burden of treatment-resistant depression:a systematic review of the economic and quality of life literature. J Affect Disord. 2019; 242:195-210. DOI: 10.1016/j.jad.2018.06.045.6.American Psychiatric Association Work Group on Major Depressive Disorder. Practiceguideline for the treatment of patients with major depressive disorder. 3rd ed. October 2010.Available at: https:///psychiatrists/practice/clinical-practice-guidelines.Accessed May 3, 2019.7.Socci C, Medda P, Toni C, et al. Electroconvulsive therapy and age: age-related clinicalfeatures and effectivenes s in treatment resistant major d epressive episode. J Affect Disord. 2018;227:627-632.Appendix 1 – Covered Diagnosis CodesICD-10 DescriptionF32.0 Major depressive disorder, single episode, mildF32.1 Major depressive disorder, single episode, moderateF32.2 Major depressive disorder, single episode, severe without psychotic featuresF32.3 Major depressive disorder, single episode, severe with psychotic featuresF32.4 Major depressive disorder, single episode, in partial remissionF32.5 Major depressive disorder, single episode, in full remissionF32.9 Major depressive disorder, single episode, unspecifiedF33.0 Major depressive disorder, recurrent, mildF33.1 Major depressive disorder, recurrent, moderateF33.2 Major depressive disorder, recurrent severe without psychotic featuresF33.3 Major depressive disorder, recurrent, severe with psychotic symptomsF33.40 Major depressive disorder, recurrent, in remission, unspecifiedF33.41 Major depressive disorder, recurrent, in partial remissionF33.42 Major depressive disorder, recurrent, in full remissionF33.8 Other recurrent depressive disordersF33.9 Major depressive disorder, recurrent, unspecifiedAppendix 2 – Centers for Medicare and Medicaid Services (CMS)Medicare coverage for outpatient (Part B) drugs is outlined in the Medicare Benefit Policy Manual (Pub. 100-2), Chapter 15, §50 Drugs and Biologicals. In addition, National Coverage Determination (NCD), Local Coverage Determinations (LCDs), and Articles may exist and compliance with these policies is required where applicable. They can be found at: /medicare-coverage- database/search/advanced-search.aspx. Additional indications may be covered at the discretion of the health plan.Medicare Part B Covered Diagnosis Codes (applicable to existing NCD/LCD/Article): N/AMedicare Part B Administrative Contractor (MAC) JurisdictionsJurisdiction Applicable State/US Territory ContractorE (1) CA, HI, NV, AS, GU, CNMI Noridian Healthcare Solutions, LLCF (2 & 3) AK, WA, OR, ID, ND, SD, MT, WY, UT, AZ Noridian Healthcare Solutions, LLC5 KS, NE, IA, MO Wisconsin Physicians Service Insurance Corp (WPS)6 MN, WI, IL National Government Services, Inc. (NGS)H (4 & 7) LA, AR, MS, TX, OK, CO, NM Novitas Solutions, Inc.8 MI, IN Wisconsin Physicians Service Insurance Corp (WPS) N (9) FL, PR, VI First Coast Service Options, Inc.J (10) TN, GA, AL Palmetto GBA, LLCM (11) NC, SC, WV, VA (excluding below) Palmetto GBA, LLCL (12) DE, MD, PA, NJ, DC (includes Arlington &Novitas Solutions, Inc.Fairfax counties and the city of Alexandria in VA)K (13 & 14) NY, CT, MA, RI, VT, ME, NH National Government Services, Inc. (NGS)15 KY, OH CGS Administrators, LLC。
Barcode Scanner ModuleUser ManualThis is a small 1D/2D codes reader, by using the intelligent image recognition algorithm, it will decode the barcode or 2D code on paper or screen, fast and accurately.Through the onboard USB and UART interface, it can be directly plugged into a computer, or be easily integrated to kinds of devices due to its small form factor. FEATURES⚫Easy to use, requires no knowledges of image recognition⚫Decodes various common 1D/2D codes such as Barcode, QR code etc.⚫Onboard micro USB and UART serial port, allows to connect with computers or embedded devices⚫Configurable via scanning 'configuration code'⚫Onboard light source, works in the darkSPECIFICATIONSOverview (1)Features (1)Specifications (2)Support barcodes (5)Scanning Instructions (6)Scanning Area (6)Scanning Way (7)Setting Instruction (9)Hardware connection (9)Setting Codes (9)Setting code (9)Restore Factory Setting (10)Users Default Setting (11)UART Communication (11)USB Communication (12)Scanning Mode (13)Lighting and Targeting (18)Ouput indication (19)Data Edit (23)Barcode types Enable/Diable (34)Appendix A: Default setting table (45)Appendix B: Common UART command (47)Appendix C: CODE ID List (48)Appendix D: ASCII table (49)Appendix E: Data Code (55)Appendix F: Save and Remove (57)✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓SCANNING AREAScanning distance: These values are all be measured indoor (250 lux)The min distance is based on the length of barcode and the scanning angle.If you want to house the scanner with window, please note that:⚫The window should be colorless⚫Check the surface of window carefully, make sure they are clean, smooth and have not scratch.⚫Let the windows cave in the case⚫Paralleling window with scanner without skew. If you locate the window improperly, it will down the scanning performance.⚫The window should close to and be in front of the scanner reader (don’t touch) The distance between window and scanner protect the scanner from drop and crash. SCANNING WAYWhile using the Barcode Scanner Module to scan 1D/2D barcodes, it allows some tilt, skew and pitch. However, you had better to reduce them for better and faster scanning result.TiltYou must keep the barcode inside thearea of white light. If the barcode is inside thescanning area, the tilt angle could be 360°. Toimprove the scanning rate, recommend tokeep vertical scanning.SkewSkew will reduce the width and space of barcode (scanned), it is the threshold dimension of high density barcode. It supports up to 65°. However, you’d better reduce the skew for better and faster scanning.PitchPitch will decrease the height of barcode. 2° to 3° is the best scanning angle, which could avoid the direct reflection of barcode. Barcode Scanner Module supports up to 60° pitch angle. But you should reduce it for better and faster scanning.Setting commands are provided, you could refer to this chapter to configure the Barcode Scanner Module. The factory setting could meet the requirement of common using, users need not more setting.HARDWARE CONNECTIONThis module supports two communicating interfaces. You can connect the USB interface to your device with micro USB cable. Or you can connect the UART interface to your device. If you want to test the UART interface with PC, you require an TTL to USB board like our CP2102 (should be purchased separately).VCC: 5VTx: Transmit Pin (Connect to Rx of MCU/CP2102)Rx: Receive Pin (Connect to Tx of MCU/CP2102)GND: GroundSETTING CODESUsers could scan the setting codes to configure the Barcode Scanner Module SETTING CODEYou can scan these two codes to enable/disable the setting code function. Enable it, you could scan setting codes for configuration. And setting code is invalid if disable.Open/Close:Output content:RESTORE FACTORY SETTINGYou can scan this setting code to restore to factory setting if require.Open Setting Code FunctionClose Setting Code FunctionDon't Output Content ofSetting CodeOutput Content of Setting CodeRestore Factory SettingUSERS DEFAULT SETTINGExcept the factory setting, users can save the setting as user default setting. By scanning the “Save Current Setting as User Default Setting” code, you can save your current setting as default setting. If there was default setting, and this operating will cover the old information.By scann ing the code “Restore User Default Setting” can restore the module to user default setting.UART COMMUNICATIONIf you connect the module to MCU by UART interface. You must set the correct UART communication parameters for success communicating. The default parameters of UART interface of module are that: Baud rate: 9600bps, Data bit: 8, Stop bit: 1 Scanning this setting code, it switches the communication interface to UART.Save Current Setting as UserDefault Setting Restore User Default SettingUART Output1.Baud rate Setting1200bps4800bps*9600bps14400bps19600bps38400bps57600bps115200bps USB COMMUNICATIONB PC KeyboardWhen you connect the module with USB cable, you can set the module to keyboard input mode by scanning this code.USB PC KeyboardB Virtual PortYou can set the module to USB virtual port mode by scanning this code.USB Virtual PortSCANNING MODE1.Manual ModeManual Mode is default scanning mode. In this mode, user should press thebutton to begin scanning, and it will finish after scanned or button release.Manual ModeSleepIn manual mode, module could enter sleep mode if it being idle for some time. You can scan this code to configure this function.Enable Sleep Function Disable Sleep FunctionDefault setting is that the module will enter Sleep mode after 30s if module keeps idle. And you can wake it up by press button, module will restart after waking.2.Continuous ModeIn Continuous Mode, the module will keep scanning automatically. After it success scanning and output result, or reach the timeout of scanning time, the module will begin its next scan after a certain time (configurable). User should single press the button to stop the scanning and single press again to continue.Continuous ModeSingle Scanning TimeIn Continuous Mode, this parameter set the max scanning time for per scanning behavior. If the module success scanning or the its scanning time reach the max1000ms3000ms*5000ms infinitesingle scanning time, module will enter the non-scanning interval. The range of single scanning time should be 0.1~25.5s. If it is set to 0, it means that scanning time is infinite. It is 5.0s by default.It is the interval between two scanning behaviors. That is module will scan nothing after last scanning for this interval time before and begin its next scanning. The setting range of this interval is 0~25.5s. It is 1.0s by default.No Interval500ms*1000ms1500ms2000ms3.Sensing ModeIn Sensing Mode, the module will detect the ambient brightness, if the brightness change, module will begin scanning after an image stabilization time (configurable). After one scanning (success or timeout), module will enter detecting state again after a certain time (configurable). Module will keep this cycle unless: If timeout, module will stop scanning and in detecting state automatically. In Sensing Mode, user could also press the button to scan and module will back to detecting after success scanning or button release.Sensing ModeIn Sensing Mode, this parameter set the max scanning time for per scanning behavior. If the module success scanning or the its scanning time reach the max single scanning time, module will enter the non-scanning interval. The range of single scanning time should be 0.1~25.5s. If it is set to 0, it means that scanning time is infinite. It is 5.0s by default1000ms3000ms*5000ms Infinite Non-Scanning IntervalIt is the interval between scanning and detecting. That is module will scan nothing after last scanning for this interval time before and begin its next detecting. The setting range of this interval is 0~25.5s. It is 1.0s by default.No Interval500ms*1000ms1500ms2000msImage stabilization timeIt is the time for module to stabilizing image if brightness changed is detected in sensing mode. The range is 0~25.5s, and 0.4s by default.100ms*400ms1000ms2000msmand ModeIn command mode, scanner will begin scanning after receive the command from MCU. (That is set bit0 to 1 on address 0x0002).Command ModeNote: The scanning command (UART) is that:7E 00 08 01 00 02 01 AB CD. The scanner module will response bytes (02 00 00 01 00 33 31) for the command and begin scanning at the same time.Single Scanning TimeIn command mode, this parameter set the max scanning time for per scanningbehavior. If the module success scanning or the its scanning time reach the max single scanning time, module will enter the non-scanning interval. The range of single scanning time should be 0.1~25.5s. If it is set to 0, it means that scanning time is infinite. It is 5.0s by default.LIGHTING AND TARGETING1. LightingThe white LED provides light for scanning, to improve the scanning performance and supports weak light environments. It has three states for choice:1000ms 3000ms*5000ms infiniteStandard (default): The LED only turn on when scanning, or it keeps off.Keep lighting: The LED will keep lighting after powering on scanner module No light: The LED is turned off all the time.*Standard Keep lighting No light2.TargetingThe targeting light beam could help user to get the best scanning distance and angle. User can set it:Standard (default): The LED only turn on when scanning, or it keeps off.Keep lighting: The LED will keep lighting after powering on scanner module No targeting: The LED is turned off all the time*Standard keep lighting No targetingOUPUT INDICATION1.All warning tonesYou can set the buzzer to active/passive buzzer, as well as setting the drivingfrequency of passive buzzer.Note:LF: Low frequency;MF: Midium frequency;HF: High frequencyIn active driving mode, user can set the working level of buzzer.User can turn off all the warning tones by use the code “Enable silence”.Driving frequency-Passive LF *Driving frequency-Passive MFDriving frequency-Passive HF Driving frequency-Active*Working level-High Working level-LowEnable silence *Disable Silence2. Scanned toneWith these code, you can set the buzzer behavior when succeed in scanning barcode.The time of the warning tone can also be set, it is default 60ms.3. Decoding promptYou can enable this function for MCU to know whether succeed in decoding. After enable this function, module will send prompt character “F” if it failed decoding and “S” if success.*Open Scanned toneClose Scanned tone*Tone time-60msTone time-30ms Tone time-90msTone time-120ms*Don't output decodingpromptOutput decodingprompt4.Keyboard settingTo compatible with different keyboard layout of different countries. There are keyboard setting code for choosing.*Keyboard-US Keyboard-Czech Keyboard-French Keyboard-German Keyboard-Hungarian Keyboard-ItalianKeyboard-Japanese Keyboard-Spanish5.Image flipSometimes we may need to flip the barcode as belowIf your barcode is flipped, you can use the flip mode.Enter flipped mode*Normal mode6.Read version informationYou can read the version information of module with this setting code.Read version informationDATA EDITSometimes we need to edit the scanned data first before output for easily handling.Data edit includes:⚫Add Prefix⚫Add Suffix⚫Decoding Data intercepting⚫Output CodeID of barcode⚫RF information for failed decoding⚫Add terminator TailThe format of Data is as below after edit:【Prefix】【CodeID】【Data】【Suffix】【Tail】1.PrefixAdd prefixProfix is a definable string added in front of decoding data, user can edit it by scanning the related setting codeAllow prefix adding Without prefix Modify prefixY ou can scan “Modify pr e fix” code and data setting code to modify the pr efix.Every character has two HEX and every prefix should less than 16 characters. The Hex of character refer to Appendix DModify prefixExample: Modify the prefix as “DATA”1)Q uery the character table to get the HEX of “DATA” are that : “44”,“41”,”54”, “41”2)Make sure Setting code is enabled, if no, please scanning the setting code“Open Setting Cod e Function”3)S canning “Modify pr e fix”code4)Scanning the data setting code one by one: “4”, “4”, “4”, “1”,“5”, “4”, “4”, “1”5)S canning “Save” Setting code2.SuffixAdd suffixSuffix is definable string added after decoding information.Allow Suffix Adding*Without Suffix Modify SuffixThe suffix can be modified as same as the Prefix.Modify SuffixExample: Modify the Suffix as “DATA”1)Q uery the character table to get the HEX of “DATA” are that : “44”,“41”,”54”, “41”2)Make sure Setting code is enabled, if no, please scanning the setting code“Open Setting Cod e Function”3)S canning “Modify prefix”code4)Scanning the data setting code one by one: “4”, “4”, “4”, “1”,“5”, “4”, “4”, “1”5)S canning “Save” Setting code3.CODE IDAdd CODE IDUser can use CODE ID to identify different type of barcode. CODE ID is chagnable.Every CODE ID has one character.Allow Adding CODE ID*Without CODE IDDefault CODE IDUsing “Default CODE ID” code, the module will restore all barcode information to default code id. The default setting should refer to Appendix CDefault CODE IDChange CODE IDUser can change the Code ID as they want with related setting codes. Every code id has one character (one HEX value). More details about characters, please refer to Appendix DE xample: change the CODE ID of CODE 128 to “A”1)Query the HEX value of “A” is “41”2)Make sure Setting code is enabled, if no, please scanning the setting code“Open Setting Cod e Function”3)S canning setting code “Modify CODE ID of CODE 128”4)S canning data setting codes “4”, ”1”5)S canning setting code “Save”Change CODE ID ListModify CODE ID of EAN 13Modify CODE ID of EAN8Modify CODE ID of UPCA Modify CODE ID of UPCE0 Modify CODE ID of UPCE1Modify CODE ID of CODE 128 Modify CODE ID of CODE 39Modify CODE ID of CODE 93Modify CODE ID of CODE BAR Modify CODE ID of Interleaved2 of 5Modify CODE ID of Industrial 25Modify CODE ID of Matrix 2 of 5Modify CODE ID of CODE 11Modify CODE ID of MSIModify CODE ID of RSS Modify CODE ID ofLimited RSSModify CODE ID of Expanded RSS Modify CODE ID of QR CODEModify CODE ID of Data Matrix Modify CODE ID of Limited PDF4174. TerminatorScanner will output a terminator after succeed in decoding.5. Data segment interceptThe decoding data 【Data 】could be divided to three parts:【Start 】【Center 】【End 】The length of Start and End segments can be set:Close Tail*Add Tail CRAdd Tail TAB Add Tail CRLF*Send whole Data Only Send Start SegmentOnly Send End SegmentOnly Send CenterSegmentChange the Length M of StartWith data setting code and this one, you can change the length of Start segment.The length of Start is max 255 characters.The Length M is represented by a HEX. More details about HEX refer to Appendix DModify the Length MChange the Length N of EndWith data setting code and this one, you can change the length of End segment.The length of Start is max 255 characters.The Length N is represented by a HEX. More details about HEX refer to Appendix DModify the Length NExamples:⚫D ecoding Data: “1234567890123ABC”, output the first thirteen bytes: “1234567890123”(Only Start)1) Query the characters table to get the HEX value of “13”(DEC) is “0D”2) Make sure the setting code function is enable, if not, open it.3) Scanning “Modify the Length M”4) scanning setting co de: “0”, “D”5) Scanning “Save”6) Scanning “Only Send Start Segment”⚫D ecoding Data: “1234567890123ABC”, output the last three bytes: “ABC”(Only End)1) Query characters table, get the HEX value of “3” (DEC) is “03”2) Make sure the setting code function is enable, if not, open it.3) S canning “Modify the length N”4) Scanning setting code: “0”. “3”5) Scanning “Save”6) Scanning “Only Send End Segment”⚫D ecoding Data: “1234567890123ABC”, output the center four bytes “0123”(Only Center)1) Query characters table, get the HEX value of “10” (DEC) and “3” are “0A”and “03” separately2) Make sure the setting code function is enable, if not, open it.3) Scanning “Modify the Length N”4) Scanning setting code: “0”. “3”5) Scanning “Save”7) Scanning setting code “0”, “A”5) Scanning “Save”6) Scanning “Only Send Center Segment”6.RF InformationRF (Read Fail) information is the that used for indicating failed scanning in some modes.Send RF Information*Without RF Information Modify InformationThe RF information can be modified by users. The max length of RF is 15 and every character represented by two HEX values. (Appendix D)Modify RF InformationE xample: Modify the RF information as “FAIL”1)Query characters table to get the HEX values of “FAIL” are “46”, “41”,“49”, “4C”2)Make sure setting code function is enabled, if not, please enable it.4)S canning data setting code: “4”, “6”, “4”, “1”, “4”, “9”, “4”,“C”5)S canning “Save”BARCODE TYPES ENABLE/DIABLE1.All Types EnableWith these setting code, you can enable/disable all types of barcode. If you disable all types of barcode, only the setting code is scannable.Enable All Types Disable All Types*Enable Default Types2.Barcode RotatingYou can enable the function that supports 360° rotation. Disable this function can improve decoding speed.*Enable 360°Rotation Disable 360°Rotation 3.EAN13Enable/Disable ENA13 barcode*Enable Scanning EAN13 Disable Scanning EAN13 4.EAN8Enable/Disable EAN9 barcode*Enable Scanning EAN8Disable Scanning EAN8 5.UPCAEnable/Disable UPCA barcode*Enable Scanning UPCA Disable Scanning UPCA6. UPCE0Enable/Disable UPCE0 barcode7. UPCE1Enable/Disable UPCE1 barcode8. Code128Enable/Disable Code128 barcodeSetting the Min Scannable Length of Code128:*Enable Scanning UPCE0Disable Scanning UPCE0*Enable Scanning UPCE1Disable Scanning UPCE1*Enable Scanning Code128Disable Scanning Code128Code128 Min Length 0 *Code128 Min Length 4Setting the Max scannable length of Code128:*Code128 Max Length 32Code128 Max Length 255 9.Code 39Enable/Disable Code39*Enable Scanning Code39Disable Scanning Code39 Setting the Min scannable length of Code39:Code39 Min Length 0*Code39 Min Length 4 Setting the Max Scannable length of Code39:*Code39 Max Length 32Code39 Max Length 255 10.Code93Enable/Disable Code93 barcode*Enable Scanning Code93Disable Scanning Code93 Setting the Min scannable length of Code93:Code93 Min Length 0*Code93 Min Length 4 Setting the Max scannable length of Code93:*Code93 Max Length 32Code93 Max Length 255 11.Code BarEnable/Disable Code Bar barcode*Enable Scanning Code Bar Disable Scanning Code BarSetting Start/Stop characters of Code Bar:Setting the min scannable length of Bar CodeSetting the max scannable length of Bar Code12. QREnable/Disable QR code13. Interleaved 2 of 5Enable/Disable Interleaved 2 of 5 codeSend Code Bar Start/StopCharacter*Without Code Bar Start/StopCharacterCode Bar Min Length 0*Code Bar Min Length 4*Code Bar Max Length 32 Code Bar Max Length 255*Enable Scanning QRDisable Scanning QREnable Scanning Interleaved 2 of 5*Disable Scanning Interleaved 2 of 5 Setting the min scannable length of Interleaved 2 of 5 code:Interleaved 2 of 5 Min Lenght 0* Interleaved 2 of 5 Max Length 4 Setting the max scannable length of interleaved 2 of 5 code:* Interleaved 2 of 5 Min Length 32Interleaved 2 of 5 Max Length 255 14.Industrial 25Enable/Disable Industrial 25 codeEnable Scanning Industrial 25*Disable Scanning Industrial 25 Setting the min scannable length of Industrial 25Industrial 25 Min Lenght 0* Industrial 25 max Length 4 Setting the max scannable length of Industrial 25:* Industrial 25 Max Lenght 32Industrial 25 Max Length 255 15.Matrix 2 of 5Enable/Disable scanning Matrix 2 of 5 code:Enable Scanning Matrix 2 of 5*Disable Scanning Matrix 2 of 5 Setting the min scannable length of Matrix 2 of 5Matrix 2 of 5 Min Length 0* Matrix 2 of 5 Min Length 4Setting the max scannable length of Matrix 2 of 5* Matrix 2 of 5 Max Length 32Matrix 2 of 5 Max Length 255 16.Code11Enable/Disable Scanning Code11Enable Scanning Code11*Disable Scanning Code11 Setting the min scannable length of Code11:Code11 Min Length 0*Code11 Min Length 4 Setting the max scannable length of Code11:*Code11 Max Length 32Code11 Max Length 25517. MSIEnable/Disable scanning MSI codeSetting the min scannable length of MSI:Setting the max scannable length of MSI:18. RSSEnable/Disable scanning RSS-14Enable Scanning MSI*Disable Scannig MSIMSI Min Length 0*MSI Min Length 4* MSI Max Length 32 MSI Max Length 255Enable Scanning RSS-14*Disable Scanning RSS-14Enable/Disable scanning Limited RSSEnable Scanning Limited RSS*Disable Scanning Limited RSS Enable/Disable scanning Expanded RSSEnable Scanning Expanded RSS*Disable Scanning Expanded RSS Setting the min scannable length of RSSRSS Min Length 0*RSS Min Length 4 Setting the max scannable length of RSS* RSS Max Length 32RSS Max Length 255 19.DMEnable/Disable Scanning DM code20.PDF417Enable/Disable scanning PDF417 code:APPENDIX A: DEFAULT SETTING TABLEParameters Default Setting Note Communicating InterfaceUARTBaud rate 9600Parity NoneData bit 8Stop bit 1Flow control None*Enable Scanning DM Disable Scanning DM *Enable Scanning PDF417Disable Scanning PDF417APPENDIX B: COMMON UART COMMANDAfter sending the query command of baud rate, the module will response as below:Note: SS SS is checksumAPPENDIX C: CODE ID LISTAPPENDIX D: ASCII TABLE。
C#键盘功能代码#region 屏蔽Windows功能键(快捷键)public delegate int HookProc(int nCode, int wParam, IntPtr lParam);private static int hHook = 0;public const int WH_KEYBOARD_LL = 13;//LowLevel键盘截获,如果是WH_KEYBOARD=2,并不能对系统键盘截取,会在你截取之前获得键盘。
private static HookProc KeyBoardHookProcedure;//键盘Hook结构函数[StructLayout(LayoutKind.Sequential)]public class KeyBoardHookStruct{public int vkCode;public int scanCode;public int flags;public int time;public int dwExtraInfo;}//设置钩子[DllImport("user32.dll")]public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId);[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]//抽掉钩子public static extern bool UnhookWindowsHookEx(int idHook);[DllImport("user32.dll")]//调用下一个钩子public static extern int CallNextHookEx(int idHook, int nCode, int wParam, IntPtr lParam);[DllImport("kernel32.dll")]public static extern int GetCurrentThreadId();[DllImport("kernel32.dll")]public static extern IntPtr GetModuleHandle(string name);public static void Hook_Start(){// 安装键盘钩子if (hHook == 0){KeyBoardHookProcedure = new HookProc(KeyBoardHookProc);hHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyBoardHookProcedure,GetModuleHandle(Process.GetCurrentProcess().MainModul e.ModuleName), 0);//如果设置钩子失败.if (hHook == 0){Hook_Clear();}}}//取消钩子事件public static void Hook_Clear(){bool retKeyboard = true;if (hHook != 0){retKeyboard = UnhookWindowsHookEx(hHook);hHook = 0;}//如果去掉钩子失败.if (!retKeyboard) throw new Exception("Hook去除失败");}//这里可以添加自己想要的信息处理private static int KeyBoardHookProc(int nCode, int wParam, IntPtr lParam){if (nCode >= 0){KeyBoardHookStruct kbh = (KeyBoardHookStruct)Marshal.PtrToStructure(lParam,typeof(KeyBoardHookStruct));if (kbh.vkCode == 91) // 截获左win(开始菜单键){return 1;}if (kbh.vkCode == 92)// 截获右win(开始菜单键){return 1;}if (kbh.vkCode == (int)Keys.Escape && (int)Control.ModifierKeys == (int)Keys.Control) //截获Ctrl+Esc {return 1;if (kbh.vkCode == (int)Keys.Escape && (int)Control.ModifierKeys == (int)Keys.Alt) //截获Alt+Esc {return 1;}if (kbh.vkCode == (int)Keys.F4 && (int)Control.ModifierKeys == (int)Keys.Alt) //截获alt+f4{return 1;}if (kbh.vkCode == (int)Keys.Tab && (int)Control.ModifierKeys == (int)Keys.Alt) //截获alt+tab {return 1;}if (kbh.vkCode == (int)Keys.Escape && (int)Control.ModifierKeys == (int)Keys.Control + (int)Keys.Shift) //截获Ctrl+Shift+Esc{return 1;}if (kbh.vkCode == (int)Keys.Space && (int)Control.ModifierKeys == (int)Keys.Alt) //截获alt+空格{return 1;}if (kbh.vkCode == 241) //截获F1{return 1;if ((int)Control.ModifierKeys == (int)Keys.Control + (int)Keys.Alt + (int)Keys.Delete) //截获Ctrl+Alt+Delete {return 1;}if ((int)Control.ModifierKeys == (int)Keys.Control + (int)Keys.Shift) //截获Ctrl+Shift{return 1;}if (kbh.vkCode == (int)Keys.Space && (int)Control.ModifierKeys == (int)Keys.Control + (int)Keys.Alt) //截获Ctrl+Alt+空格{return 1;}}return CallNextHookEx(hHook, nCode, wParam, lParam);}////// 开打任务管理器快捷键为Windows底层按键//////public static void T askMgrLocking(bool bLock){if (bLock)//屏蔽任务管理器、并且不出现windows提示信息“任务管理器已被管理员禁用”{Process p = new Process();p.StartInfo.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.System);p.StartInfo.FileName = "taskmgr.exe";p.StartInfo.CreateNoWindow = true;p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;p.Start();}else//设置任务管理器为可启动状态{Process[] p = Process.GetProcesses();foreach (Process p1 in p){try{if (p1.ProcessName.ToLower().Trim() == "taskmgr")//这里判断是任务管理器{p1.Kill();RegistryKey r = Registry.CurrentUser.OpenSubKey("Software\\\\Microsoft\\\\Wi ndows\\\\CurrentVersion\\\\Policies\\\\S ystem", true);r.SetValue("DisableTaskmgr", "0"); //设置任务管理器为可启动状态Registry.CurrentUser.DeleteSubKey("Software\\\\Microsoft\\ \\Windows\\\\CurrentVersion\\\\Policies\\\\ System");}}catch{return;}}}}#endregion//调用private void button1_Click(object sender, EventArgs e){//启动钩子,处理钩子事件Hook_Start();//屏蔽任务管理器TaskMgrLocking(true);}////// 关闭窗口时事件///private void Form1_FormClosing(object sender, FormClosingEventArgs e){ //注销Id号为100的热键设定UnregisterHotKey(Handle, 100); //注销Id号为101的热键设定UnregisterHotKey(Handle, 101); //注销Id号为102的热键设定UnregisterHotKey(Handle, 102); //注销Id号为103的热键设定UnregisterHotKey(Handle, 103);Hook_Clear();TaskMgrLocking(false); }。
Alpha-1-Proteinase Inhibitors:Aralast NP®; Glassia®; Prolastin®-C; Zemaira®(Intravenous)Document Number: IC-0052 Last Review Date: 04/06/2021Date of Origin: 01/01/2012Dates Reviewed: 12/2011, 02/2013, 08/2013, 06/2014, 06/2015, 01/2016, 10/2016, 03/2017, 09/2017, 12/2017, 03/2018, 06/2018, 04/2019, 04/2020, 04/2021I.Length of AuthorizationCoverage will be provided for 12 months and may be renewed.II.Dosing LimitsA.Quantity Limit (max daily dose) [NDC Unit]:∙Aralast NP 1 g/50 mL: 7 vials per week∙Aralast NP 0.5 g/25 mL: 1 vial per week∙Glassia 1 g/50 mL: 7 vials per week∙Prolastin-C 1 g/20 mL: 7 vials per week∙Prolastin-C Liquid 1g/20 mL: 7 vials per week∙Zemaira 1 g/20 mL: 3 vials per week∙Zemaira 4 g/76 mL: 1 vial per week∙Zemaira 5 g/95 mL: 1 vial per weekB.Max Units (per dose and over time) [HCPCS Unit]:∙700 billable units every 7 daysIII.Initial Approval Criteria1-6,8,9,12•Patient is at least 18 years of age; ANDUniversal Criteria•Patient is not a tobacco smoker; AND•Patient is receiving optimal medical therapy (e.g., comprehensive case management, pulmonary rehabilitation, vaccinations, smoking cessation, self-management skills, etc.);AND•Patient does not have immunoglobulin-A (IgA) deficiency with antibodies against IgA;ANDEmphysema due to alpha-1-antitrypsin (AAT) deficiency †, Ф(applies only to Prolastin-C)•Patient has an FEV1 in the range of 30-65% of predicted; AND•Patient has alpha-1-antitrypsin (AAT) deficiency with PiZZ, PiZ (null), or Pi (null, null) phenotypes; AND•Patient has AAT-deficiency and clinical evidence of panacinar/panlobular emphysema;AND•Patient has low serum concentration of AAT ≤ 57 mg/dL or ≤ 11 µM/L as measured by nephelometry† FDA Approved Indication(s); Ф Orphan DrugIV.Renewal Criteria1-6,8,9Authorizations can be renewed based on the following criteria:•Patient continues to meet universal and other indication-specific relevant criteria such as concomitant therapy requirements (not including prerequisite therapy), performance status, etc.identified in section III; AND•Disease response with treatment as defined by elevation of AAT levels above baseline, substantial reduction in rate of deterioration of lung function as measured by percentpredicted FEV1, or improvement in CT scan lung density; AND•Absence of unacceptable toxicity from the drug. Examples of unacceptable toxicity include severe hypersensitivity reactions, etc.V.Dosage/Administration1-5VI.Billing Code/Availability InformationHCPCS Code & NDC:VII.References1.Glassia [package insert]. Lexington, MA; Baxalta US Inc.; June 2017. Accessed March2021.2.Zemaira [package insert]. Kankakee, IL; CSL Behring LLC; April 2019. Accessed March2021.3.Aralast NP [package insert]. Lexington, MA; Baxalta US Inc.; December 2018. AccessedMarch 2021.4.Prolastin-C Liquid [package insert]. Research Triangle Park, NC; Grifols Therapeutics,Inc.; August 2018. Accessed March 2021.5.Prolastin-C [package insert]. Research Triangle Park, NC; Grifols Therapeutics, Inc.; June2018. Accessed March 2021.6.American Thoracic Society/European Respiratory Society Statement: Standards for theDiagnosis and Management of Individuals with Alpha-1 Antitrypsin Deficiency. AmericanThoracic Society; European Respiratory Society. Am J Respir Crit Care Med. 2003 Oct1;168(7):818-900.7.Global Initiative for Chronic Obstructive Lung Disease (GOLD). Global strategy for thediagnosis, management, and prevention of chronic obstructive pulmonary disease. GlobalInitiative for Chronic Obstructive Lung Disease (GOLD); 2019.8.Sandhaus RA, Turino G, Brantly ML, et al. The diagnosis and management of alpha-1antitrypsin deficiency in the adult. Chronic Obstr Pulm Dis (Miami). 2016; 3(3):668-682.9.Marciniuk DD, Hernandez P, Balter M, et al. Alpha-1 antitrypsin deficiency targetedtesting and augmentation therapy: a Canadian Thoracic Society clinical practice guideline.Can Respir J. 2012;19(2):109-16.10.Stocks JM, Brantly M, Pollock D, et al. Multi-center study: the biochemical efficacy, safetyand tolerability of a new α1-proteinase inhibitor, Zemaira. COPD. 2006;3:17–23.11.Global Initiative for Chronic Obstructive Lung Disease (GOLD). Global strategy for thediagnosis, management, and prevention of chronic obstructive pulmonary disease. GlobalInitiative for Chronic Obstructive Lung Disease (GOLD); 2020.12.Miravitlles M, Dirksen A, Ferrarotti I, et al. European Respiratory Society statement:diagnosis and treatment of pulmonary disease in α1-antitrypsin deficiency. Eur Respir J2017; 50.Appendix 1 – Covered Diagnosis CodesAppendix 2 – Centers for Medicare and Medicaid Services (CMS)Medicare coverage for outpatient (Part B) drugs is outlined in the Medicare Benefit Policy Manual (Pub. 100-2), Chapter 15, §50 Drugs and Biologicals. In addition, National Coverage Determination (NCD), Local Coverage Determinations (LCDs), and Local Coverage Articles (LCAs) may exist and compliance with these policies is required where applicable. They can be found at: /medicare-coverage-database/search/advanced-search.aspx. Additional indications may be covered at the discretion of the health plan.Medicare Part B Covered Diagnosis Codes (applicable to existing NCD/LCD/LCA): N/A。
O:就是利用bioskey()得到的值。
参数为0时,bioskey()的返回值如果低八位非0,表示按下了普通键;如果低八位为0,表示按下了功能键。
参数为1时,检测有没有键被按下,如果返回值为0,表示没有键按下,相反有键按下。
参数为2时,表示获取变换键的状态,哪些是变换键呢?变换键包括双态键和控制键,双态键就是num lock、scroll lock、insert和caps lock,控制键就是左右shift、ctrl和alt,返回值的低八位反映了这些变换键的状态:0x01 右边shift0x10 scroll lock打开0x02 左边shift0x20 num lock打开0x04 ctrl键0x40 caps lock打开0x08 alt键0x80 insert打开其实bioskey直接调用bios的int 16h键盘I/O中断,直接就是int 16h 的完整翻版。
键盘扫描码大全对程序进行键盘控制时,往往要用到一些键的扫描码,以前每次用时都得先扫下试试,实在麻烦,今天又搞了个小程序,用到了扫描码,索性整了个测试程序,把所有键的扫描码全存入一个文件啦,以便以后编程时使用.在此跟大家分享一下,虽然得来非常容易,但至少可以免得大家都像我以前那样用时再查扫描码键0x011b ----- ESC0x3b00 ----- F1 0x3c00 ----- F20x3d00 ----- F30x3e00 ----- F40x3f00 ----- F50x4000 ----- F60x4100 ----- F70x4200 ----- F80x4300 ----- F90x4400 ----- F10主键盘区:0x2960 ----- ~0x0231 ----- 10x0332 ----- 20x0433 ----- 30x0534 ----- 40x0635 ----- 50x0736 ----- 60x0837 ----- 70x0938 ----- 80x0a39 ----- 90x0b30 ----- 00x0c2d ----- -0x0d3d ----- =0x2b5c ----- \0x0e08 ----- 退格键0x0f09 ----- Tab0x1071 ----- q0x1177 w0x1265 e0x1372 r0x1474 t0x1579 y0x1675 u0x1769 i0x186f o0x1970 p0x1a5b [0x1b5d ]0x1e61 a0x1f73 s0x2064 d0x2166 f0x2267 g0x2368 h0x246a j0x256b k0x266c l0x273b0x2827 '0x1c0d 回车0x2c7a z0x2d78 x0x2e63 c0x2f76 v0x3062 b0x316e n0x326d m0x332c ,0x342e .0x352f /0x3920 空格键右边数字键盘:0x5200 Insert0x4700 Home0x4900 Page UP0x5300 Delete0x4f00 End0x5100 PageDown0x4800 上箭头0x4b00 左箭头0x5000 下箭头0x4d00 右箭头0x352f /0x372a *0x4a2d - (注意,这是数字键盘的) 0x4737 70x4838 80x4939 90x4b34 40x4c35 50x4d36 60x4e2b +0x4f31 10x5032 20x5133 30x5230 00x532e DelCtrl+字母:在字母扫描码的基础上减去0x0060alt+字母: 在字母的基础上,把最后两位变成00shift+字母:在字母的基础上减去0x0020比如: a----0x1e61 Ctrl+a----0x1e01 Alt+a-----0x1e00b----0x3062 Ctrl+b----0x3002 Alt+b-----0x3000另加: Ctrl+Enter: 0x1c0a可以直接用一个程序查看的,很简单的#include “stdio.h”#include “bios.h”void main(void){int key, modifiers;while ((key=bioskey(0)) != 0 && key!=0x11b){printf("0x%x \n",key);}}*********************************************************** ********************上面列出的编码中,前面两位是“扫描码”,后面两位是ASCII码,合起来是所谓的“键盘码”比如,小键盘的数字键扫描码和大键盘的数字键是不同的,而后两位是一样的,因为那个是它们共用的ASCII码,下面就是扫描码的列表Keyboard Scan Codes (Numerical Order)---------------+---------------+---------------+---------------+---------------HEX DEC keys |HEX DEC keys |HEX DEC keys |HEX DEC keys |HEX DEC keys---------------+---------------+---------------+---------------+---------------|10 16 Q |20 32 D |30 48 B|40 64 F601 1 ESC |11 17 W |21 33 F |31 49 N |41 65 F702 2 1 |12 18 E |22 34 G |32 50 M |42 66 F803 3 2 |13 19 R |23 35 H |33 51 , |43 67 F904 4 3 |14 20 T |24 36 J |34 52 . |44 68 F1005 5 4 |15 21 Y |25 37 K |35 53 / |45 69 Num06 6 5 |16 22 U |26 38 L |36 54 R Shift |46 70 Scroll07 7 6 |17 23 I |27 39 |37 55 PrtSc |47 71 Home08 8 7 |18 24 O |28 40 ' |38 56 Alt |48 72 Up09 9 8 |19 25 P |29 41 ` |39 57 Space |49 73 PgUp0A 10 9 |1A 26 [ |2A 42 L Shift |3A 58 Caps |4A 74 -0B 11 0 |1B 27 ] |2B 43 \ |3B 59 F1 |4B 75 Left0C 12 - |1C 28 |2C 44 Z |3C 60 F2 |4C 76 Center0D 13 = |1D 29 CTRL |2D 45 X |3D 61 F3 |4D 77 Right0E 14 bs |1E 30 A |2E 46 C |3E 62 F4 |4E 78 +0F 15 Tab |1F 31 S |2F 47 V |3F 63 F5 |4F 79 End---------------+---------------+---------------+---------------+---------------50 80 Down | | | |51 81 PgDn | | | |52 82 Ins | | | |53 83 Del | | | |---------------+---------------+---------------+---------------+---------------Keyboard Scan Codes (Read from Port HEX 60 = DEC 96) (Keyboard Layout)Top number ... DECBottom number ... HEX+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F1|F2|ESC| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |BkS|Num Lok|Scr Lok|| | | | | | | | | | | | | | | | | | ||59|60| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 | 69 | 70 ||3B|3C|01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |0E | 45 | 46 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F3|F4|TAB| Q | W | E | R | T | Y | U | I | O | P | [ | ] | | 7 3 8 | 9 3 - || | | | | | | | | | | | | | | | | 3 | 3 ||61|62|15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 | |71 372 |73 374 | |3D|3E|0F |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B | |47 348 |49 34A | +--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F5|F6|CTR| A | S | D | F | G | H | J | K | L | | ' | ` |28 | 4 3 5 | 6 3 || | | | | | | | | | | | | | | | | 3 | 3 ||63|64|29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 | |75 376 |77 3 | |3F|40|1D |1E |1F |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 | |4B 34C |4D 3 | +--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F7|F8|Shf| \ | Z | X | C | V | B | N | M | , | . | / |Shf|Prt| 1 3 2 | 3 3 + || | | | | | | | | | | | | | | | | 3 | 3 ||65|66|42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |78 380 |81 378 | |41|42|2A |2B |2C |2D |2E |2F |30 |31 |32 |33 |34 |35 |36 |37 |4F 350 |51 34E | +--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F9|F0| A|t | | | | |pac| | | | |Cap|Lok| I|s 3 D|l 3 || | | | | | | | | | | | | | | | | 3 | 3 ||67|68| 5| | | | | |57 | | | | | 5| | 8| 3 8| 3 ||43|44| 3| | | | | |39 | | | | | 3| | 5| 3 5| 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+Extended ASCII Special Key Codes (Numerical Order)... composed of 2 bytes, the 2nd byte being 00 (00 signifies that the speci al codesare to be applied.)HEX DEC keys--------------------------------------03 3 CTRL-2; same as CHR$(0)0F 15 Shift-tab10 16 Alt-Q11 17 Alt-W12 18 Alt-E13 19 Alt-R14 20 Alt-T15 21 Alt-Y16 22 Alt-U17 23 Alt-I18 24 Alt-O19 25 Alt-P 1E 30 Alt-A 1F 31 Alt-S20 32 Alt-D21 33 Alt-F22 34 Alt-G23 35 Alt-H24 36 Alt-J25 37 Alt-K26 38 Alt-L 2C 44 Alt-Z 2D 45 Alt-X 2E 46 Alt-C 2F 47 Alt-V30 48 Alt-B31 49 Alt-N32 50 Alt-M 3B 59 F13C 60 F23D 61 F3-------------------------------------- 3E 62 F43F 63 F540 64 F641 65 F742 66 F843 67 F944 68 F1047 71 Home48 72 Up49 73 PgUp4B 75 Left4D 77 Right4F 79 End50 80 Down51 81 PgDn52 82 Ins53 83 Del54 84 Shift-F155 85 Shift-F256 86 Shift-F357 87 Shift-F458 88 Shift-F559 89 Shift-F6 5A 90 Shift-F7 5B 91 Shift-F8 5C 92 Shift-F9 5D 93 Shift-F10 5E 94 Ctrl-F1 5F 95 Ctrl-F260 96 Ctrl-F361 97 Ctrl-F462 98 Ctrl-F563 99 Ctrl-F664 100 Ctrl-F765 101 Ctrl-F866 102 Ctrl-F967 103 Ctrl-F1068 104 Alt-F169 105 Alt-F2 6A 106 Alt-F3 6B 107 Alt-F46D 109 Alt-F66E 110 Alt-F76F 111 Alt-F870 112 Alt-F971 113 Alt-F1072 114 Ctrl-PrtSc73 115 Ctrl-Left74 116 Ctrl-Right75 117 Ctrl-End76 118 Ctrl-PgDn77 119 Ctrl-Home78 120 Alt-179 121 Alt-27A 122 Alt-37B 123 Alt-47C 124 Alt-57D 125 Alt-67E 126 Alt-77F 127 Alt-880 128 Alt-981 129 Alt-083 131 Alt-=84 132 Ctrl-PgUp85 133 Ctrl-Up86 134 Ctrl--(num)87 135 Ctrl-Center88 136 Ctrl-+(num)89 137 Ctrl-Down 8A 138 Ctrl-Ins8B 139 Ctrl-Del8C 140 Alt-Home 8D 141 Alt-Up8E 142 Alt-PgUp 8F 143 Alt--(num)90 144 Alt-Left91 145 Alt-Center92 146 Alt-Right93 147 Alt-+(num)94 148 Alt-End95 149 Alt-Down96 150 Alt-PgDn97 151 Alt-InsExtended ASCII Special Key Codes (Keyboard Layout)------------------+-------------------+-------------------+--------------------HEX DEC keys | HEX DEC keys | HEX DEC keys | HEX DEC keys ------------------+-------------------+-------------------+--------------------03 3 nul | 0F 15 Shift-tab | 72 114 Ctrl-PrtSc|------------------+-------------------+-------------------+--------------------47 71 Home | | 77 119 Ctrl-Home | 8C 140 Alt-Home48 72 Up | | 85 133 Ctrl-Up | 8D 141 Alt-Up49 73 PgUp | | 84 132 Ctrl-PgUp | 8E 142 Alt-PgUp 4A 74 -(num) | | 86 134 Ctrl--(nu)| 8F 143 Alt--(num) 4B 75 Left | | 73 115 Ctrl-Left | 90 144 Alt-Left4C 76 Center | | 87 135 Ctrl-Centr| 91 145 Alt-Center 4D 77 Right | | 74 116 Ctrl-Right| 92 146 Alt-Right4E 78 +(num) | | 88 136 Ctrl-+(nu)| 93 147 Alt-+(num) 4F 79 End | | 75 117 Ctrl-End | 94 148 Alt-End50 80 Down | | 89 137 Ctrl-Down | 95 149 Alt-Down51 81 PgDn | | 76 118 Ctrl-PgDn | 96 150 Alt-PgDn52 82 Ins | | 8A 138 Ctrl-Ins | 97 151 Alt-Ins53 83 Del | | 8B 139 Ctrl-Del | 98 152 Alt-Del------------------+-------------------+-------------------+--------------------3B 59 F1 | 54 84 Shift-F1 | 5E 94 Ctrl-F1 | 68 104 Alt-F13C 60 F2 | 55 85 Shift-F2 | 5F 95 Ctrl-F2 | 69 105 Alt-F23D 61 F3 | 56 86 Shift-F3 | 60 96 Ctrl-F3 | 6A 106 Alt-F33E 62 F4 | 57 87 Shift-F4 | 61 97 Ctrl-F4 | 6B 107 Alt-F43F 63 F5 | 58 88 Shift-F5 | 62 98 Ctrl-F5 | 6C 108 Alt-F540 64 F6 | 59 89 Shift-F6 | 63 99 Ctrl-F6 | 6D 109 Alt-F641 65 F7 | 5A 90 Shift-F7 | 64 100 Ctrl-F7 | 6E 110 Alt-F742 66 F8 | 5B 91 Shift-F8 | 65 101 Ctrl-F8 | 6F 111 Alt-F843 67 F9 | 5C 92 Shift-F9 | 66 102 Ctrl-F9 | 70 112 Alt-F944 68 F10 | 5D 93 Shift-F10 | 67 103 Ctrl-F10 | 71 113 Alt-F10 ------------------+-------------------+-------------------+--------------------1E 30 Alt-A | 31 49 Alt-N | 78 120 Alt-1 |30 48 Alt-B | 18 24 Alt-O | 79 121 Alt-2 |2E 46 Alt-C | 19 25 Alt-P | 7A 122 Alt-3 |20 32 Alt-D | 10 16 Alt-Q | 7B 123 Alt-4 |12 18 Alt-E | 13 19 Alt-R | 7C 124 Alt-5 |21 33 Alt-F | 1F 31 Alt-S | 7D 125 Alt-6 |22 34 Alt-G | 14 20 Alt-T | 7E 126 Alt-7 |23 35 Alt-H | 16 22 Alt-U | 7F 127 Alt-8 |17 23 Alt-I | 2F 47 Alt-V | 80 128 Alt-9 |24 36 Alt-J | 11 17 Alt-W | 81 129 Alt-0 |25 37 Alt-K | 2D 45 Alt-X | 82 130 Alt-- |26 38 Alt-L | 15 21 Alt-Y | 83 131 Alt-= |32 50 Alt-M | 2C 44 Alt-Z | |------------------+-------------------+-------------------+--------------------。
键盘扫描码Keyboard Scan Codes (Numerical Order)---------------+---------------+---------------+---------------+---------------HEX DEC keys |HEX DEC keys |HEX DEC keys |HEX DEC keys |HEXDEC keys---------------+---------------+---------------+---------------+---------------|10 16 Q |20 32 D |30 48 B |4064 F601 1 ESC |11 17 W |21 33 F |31 49 N |4165 F702 2 1 |12 18 E |22 34 G |32 50 M |4266 F803 3 2 |13 19 R |23 35 H |33 51 , |4367 F904 4 3 |14 20 T |24 36 J |34 52 . |4468 F1005 5 4 |15 21 Y |25 37 K |35 53 / |4569 Num06 6 5 |16 22 U |26 38 L |36 54 RShift|46 70 Scroll07 7 6 |17 23 I |27 39 ; |37 55 PrtSc |4771 Home08 8 7 |18 24 O |28 40 ' |38 56 Alt |4872 Up09 9 8 |19 25 P |29 41 ` |39 57 Space |4973 PgUp0A 10 9 |1A 26 [ |2A 42 LShift|3A 58 Caps |4A 74 -0B 11 0 |1B 27 ] |2B 43 \ |3B 59 F1 |4B75 Left0C 12 - |1C 28 |2C 44 Z |3C 60 F2 |4C76 Center0D 13 = |1D 29 CTRL |2D 45 X |3D 61 F3 |4D77 Right0E 14 bs |1E 30 A |2E 46 C |3E 62 F4 |4E78 +0F 15 Tab |1F 31 S |2F 47 V |3F 63 F5 |4F79 End---------------+---------------+---------------+---------------+---------------50 80 Down | | | |51 81 PgDn | | | |52 82 Ins | | | |53 83 Del | | | | ---------------+---------------+---------------+---------------+---------------Keyboard Scan Codes (Read from Port HEX 60 = DEC 96) (Keyboard Layout)Top number ... DECBottom number ... HEX+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F1|F2|ESC| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |BkS|NumLok|Scr Lok|| | | | | | | | | | | | | | | | || ||59|60| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 | 69 | 70 | |3B|3C|01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |0E| 45 | 46 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F3|F4|TAB| Q | W | E | R | T | Y | U | I | O | P | [ | ] | | 7 38 | 9 3 - || | | | | | | | | | | | | | | | | 3| 3 ||61|62|15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 | |71 372|73 374 ||3D|3E|0F |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B | |47 348|49 34A |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F5|F6|CTR| A | S | D | F | G | H | J | K | L | ; | ' | ` |28 | 4 35 |6 3 || | | | | | | | | | | | | | | | | 3| 3 ||63|64|29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 | |75 376|77 3 ||3F|40|1D |1E |1F |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 | |4B 34C|4D 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F7|F8|Shf| \ | Z | X | C | V | B | N | M | , | . | / |Shf|Prt| 1 32 |3 3 + || | | | | | | | | | | | | | | | | 3| 3 ||65|66|42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |78 380|81 378 ||41|42|2A |2B |2C |2D |2E |2F |30 |31 |32 |33 |34 |35 |36 |37 |4F 350|51 34E |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F9|F0| A|t | | | | |pac| | | | |Cap|Lok| I|s 3D|l 3 || | | | | | | | | | | | | | | | | 3| 3 ||67|68| 5| | | | | |57| | | | | 5| | 8| 3 8| 3 ||43|44| 3| | | | | |39| | | | | 3| | 5| 3 5| 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+Extended ASCII Special Key Codes (Numerical Order)... composed of 2 bytes, the 2nd byte being 00 (00 signifies that the special codes are to be applied.)HEX DEC keys-------------------------------03 3 CTRL-2; same as CHR$(0)0F 15 Shift-tab10 16 Alt-Q11 17 Alt-W12 18 Alt-E13 19 Alt-R14 20 Alt-T15 21 Alt-Y16 22 Alt-U17 23 Alt-I18 24 Alt-O19 25 Alt-P1E 30 Alt-A1F 31 Alt-S20 32 Alt-D21 33 Alt-F22 34 Alt-G23 35 Alt-H24 36 Alt-J25 37 Alt-K26 38 Alt-L2C 44 Alt-Z2D 45 Alt-X2E 46 Alt-C2F 47 Alt-V30 48 Alt-B31 49 Alt-N32 50 Alt-M3B 59 F13C 60 F23D 61 F33E 62 F43F 63 F540 64 F641 65 F742 66 F843 67 F944 68 F1047 71 Home48 72 Up49 73 PgUp4B 75 Left4D 77 Right4F 79 End50 80 Down51 81 PgDn52 82 Ins53 83 Del54 84 Shift-F155 85 Shift-F256 86 Shift-F357 87 Shift-F458 88 Shift-F559 89 Shift-F6 5A 90 Shift-F7 5B 91 Shift-F8 5C 92 Shift-F9 5D 93 Shift-F105F 95 Ctrl-F260 96 Ctrl-F361 97 Ctrl-F462 98 Ctrl-F563 99 Ctrl-F664 100 Ctrl-F765 101 Ctrl-F866 102 Ctrl-F967 103 Ctrl-F1068 104 Alt-F169 105 Alt-F26A 106 Alt-F36B 107 Alt-F46C 108 Alt-F56D 109 Alt-F66E 110 Alt-F76F 111 Alt-F870 112 Alt-F971 113 Alt-F1072 114 Ctrl-PrtSc73 115 Ctrl-Left74 116 Ctrl-Right75 117 Ctrl-End76 118 Ctrl-PgDn77 119 Ctrl-Home78 120 Alt-179 121 Alt-27A 122 Alt-37B 123 Alt-47C 124 Alt-57D 125 Alt-67E 126 Alt-77F 127 Alt-880 128 Alt-981 129 Alt-082 130 Alt--83 131 Alt-=84 132 Ctrl-PgUp85 133 Ctrl-Up86 134 Ctrl--(num)87 135 Ctrl-Center88 136 Ctrl-+(num)89 137 Ctrl-Down8B 139 Ctrl-Del8C 140 Alt-Home8D 141 Alt-Up8E 142 Alt-PgUp8F 143 Alt--(num)90 144 Alt-Left91 145 Alt-Center92 146 Alt-Right93 147 Alt-+(num)94 148 Alt-End95 149 Alt-Down96 150 Alt-PgDn97 151 Alt-Ins98 152 Alt-DelExtended ASCII Special Key Codes (Keyboard Layout)------------------+-------------------+-------------------+--------------------HEX DEC keys | HEX DEC keys | HEX DEC keys | HEX DECkeys------------------+-------------------+-------------------+--------------------03 3 nul | 0F 15 Shift-tab | 72 114 Ctrl-PrtSc|------------------+-------------------+-------------------+--------------------47 71 Home | | 77 119 Ctrl-Home | 8C140 Alt-Home48 72 Up | | 85 133 Ctrl-Up | 8D141 Alt-Up49 73 PgUp | | 84 132 Ctrl-PgUp | 8E142 Alt-PgUp4A 74 -(num) | | 86 134 Ctrl--(nu)| 8F143 Alt--(num)4B 75 Left | | 73 115 Ctrl-Left | 90144 Alt-Left4C 76 Center | | 87 135 Ctrl-Centr| 91145 Alt-Center4D 77 Right | | 74 116 Ctrl-Right| 92146 Alt-Right4E 78 +(num) | | 88 136 Ctrl-+(nu)| 93147 Alt-+(num)4F 79 End | | 75 117 Ctrl-End | 94148 Alt-End50 80 Down | | 89 137 Ctrl-Down | 95149 Alt-Down51 81 PgDn | | 76 118 Ctrl-PgDn | 96150 Alt-PgDn52 82 Ins | | 8A 138 Ctrl-Ins | 97151 Alt-Ins53 83 Del | | 8B 139 Ctrl-Del | 98152 Alt-Del------------------+-------------------+-------------------+--------------------3B 59 F1 | 54 84 Shift-F1 | 5E 94 Ctrl-F1 | 68104 Alt-F13C 60 F2 | 55 85 Shift-F2 | 5F 95 Ctrl-F2 | 69105 Alt-F23D 61 F3 | 56 86 Shift-F3 | 60 96 Ctrl-F3 | 6A106 Alt-F33E 62 F4 | 57 87 Shift-F4 | 61 97 Ctrl-F4 | 6B107 Alt-F43F 63 F5 | 58 88 Shift-F5 | 62 98 Ctrl-F5 | 6C108 Alt-F540 64 F6 | 59 89 Shift-F6 | 63 99 Ctrl-F6 | 6D109 Alt-F641 65 F7 | 5A 90 Shift-F7 | 64 100 Ctrl-F7 | 6E110 Alt-F742 66 F8 | 5B 91 Shift-F8 | 65 101 Ctrl-F8 | 6F111 Alt-F843 67 F9 | 5C 92 Shift-F9 | 66 102 Ctrl-F9 | 70112 Alt-F944 68 F10 | 5D 93 Shift-F10 | 67 103 Ctrl-F10 | 71113 Alt-F10------------------+-------------------+-------------------+--------------------1E 30 Alt-A | 31 49 Alt-N | 78 120 Alt-1 |30 48 Alt-B | 18 24 Alt-O | 79 121 Alt-2 |2E 46 Alt-C | 19 25 Alt-P | 7A 122 Alt-3 |20 32 Alt-D | 10 16 Alt-Q | 7B 123 Alt-4 |12 18 Alt-E | 13 19 Alt-R | 7C 124 Alt-5 |21 33 Alt-F | 1F 31 Alt-S | 7D 125 Alt-6 |22 34 Alt-G | 14 20 Alt-T | 7E 126 Alt-7 |23 35 Alt-H | 16 22 Alt-U | 7F 127 Alt-8 |17 23 Alt-I | 2F 47 Alt-V | 80 128 Alt-9 |24 36 Alt-J | 11 17 Alt-W | 81 129 Alt-0 |25 37 Alt-K | 2D 45 Alt-X | 82 130 Alt-- |26 38 Alt-L | 15 21 Alt-Y | 83 131 Alt-= |32 50 Alt-M | 2C 44 Alt-Z |PC机和键盘部分通信命令字PC机向键盘发出的命令共有10条,键盘向PC机发出的键盘响应共有7条。
Page 1351Appendix C: Keyboard Scan CodesTable 90: PC Keyboard Scan Codes (in hex)Key Down Up Key Down Up Key Down Up KeyDown Up Esc 181[ {1A 9A , <33B3 center 4C CC 1 !282] }1B 9B . >34B4 right 4D CD 2 @383Enter 1C 9C / ?35B5 + 4E CE 3 #484Ctrl 1D 9D R shift 36B6 end 4F CF 4 $585A 1E 9E * PrtSc 37B7 down 50D05 %686S 1F 9F alt 38B8 pgdn 51D16 ^787D 20A0space 39B9 ins 52D27 &888F 21A1CAPS 3A BA del 53D38 *989G 22A2F13B BB/ E0 35B59 (0A 8A H 23A3F23C BC enterE0 1C 9C 0 )0B 8B J 24A4F33D BD F1157D7- _0C 8C K 25A5F43E BE F1258D8= +0D 8D L 26A6F53F BF ins E0 52D2Bksp 0E 8E ; :27A7F640C0del E0 53D3Tab 0F 8F ‘ “28A8F741C1home E0 47C7Q 1090` ~29A9F842C2end E0 4F CF W 1191L shift 2A AA F943C3pgup E0 49C9E 1292\ |2B AB F1044C4pgdn E0 51D1R 1393Z 2C AC NUM 45C5left E0 4B CB T 1494X 2D AD SCRL46C6right E0 4D CD Y1595C 2E AE home 47C7up E0 48C8U 1696V 2F AF up 48C8down E0 50D0I 1797B 30B0 pgup 49C9R alt E0 38B8O 1898N 31B1 - 4A CA R ctrl E0 1D 9D P1999M32B2left4BCBPauseE1 1D45 E1 9D C5-Thi dtt d ith FM k402Appendix CPage 1352Table 91: Keyboard Codes (in hex)Key ScanCodeASCII Shift a Ctrl Alt Num Caps Shift Caps Shift Num Esc011B1B1B1B1B1B1B1!0231217800313131312@03324003007900323232323#0433237A00333333334$0534247B0034343434 5%0635257C00353535356 ^07365E1E7D00363636367&0837267E00373737378 *09382A7F00383838389 (0A39288000393939390 )0B3029810030303030- _0C2D5F1F82002D2D5F5F= +0D3D2B83003D3D2B2B Bksp0E08087F08080808 Tab0F090F0009090F000F00 Q10715111100071517151W11775717110077577757E12654505120065456545R13725212130072527252T14745414140074547454Y15795919150079597959U16755515160075557555I17694909170069496949O186F4F0F18006F4F6F4FP19705010190070507050 [{1A5B7B1B5B5B7B7B ]}1B5D7D1D5D5D7D7D enter1C0D0D0A0D0D0A0A ctrl1DA1E6141011E0061416141S1F7353131F0073537353D20644404200064446444F21664606210066466646G22674707220067476747H23684808230068486848J246A4A0A24006A4A6A4AK256B4B0B25006B4B6B4BL266C4C0C26006C4C6C4C ;:273B3A3B3B3A3A‘“28272227272222`~29607E60607E7E Lshift2A\|2B5C7C1C5C5C7C7CZ2C7A5A1A2C007A5A7A5AX2D7858182D0078587858C2E6343032E0063436343V2F7656162F0076567656B30624202300062426242 Key ScanCodeASCII Shift Ctrl Alt Num Caps Shift Caps Shift NumAppendicesPage 1353a. For the alphabetic characters, if capslock is active then see the shift-capslock column.b. Pressing the PrtSc key does not produce a scan code. Instead, BIOS executes an int 5 instruction which should print the screen.c. This is the control-P character that will activate the printer under MS-DOS.d. This is the minus key on the keypad.e. This is the plus key on the keypad.N 316E 4E 0E 3100 6E 4E 6E 4E M 326D 4D 0D32006D 4D 6D 4D , <332C 3C 2C 2C 3C 3C .>342E 3E 2E 2E 3E 3E / ?352F 3F 2F 2F 3F 3F Rshift 36* PrtSc 372A INT 5 b 10 c 2A 2A INT 5INT 5alt 38space 3920202020202020caps 3A F13B 3B0054005E0068003B003B0054005400 F23C 3C0055005F0069003C003C0055005500 F33D 3D00560060006A003D003D0056005600 F43E 3E00570061006B003E003E0057005700 F53F 3F00580062006C003F003F0058005800 F640 4000590063006D004000400059005900 F741 41005A0064006E00410041005A005A00 F842 42005B0065006F00420042005B005B00 F943 43005C0066007000430043005C005C00 F1044 44005D0067007100440044005D005D00num 45scrl 46home 47 4700 37 7700 374700374700up 48 4800 38384800384800pgup 49 4900 39 8400 394900394900- d4A 2D 2D 2D 2D 2D 2D left 4B 4B00 34 7300 344B00344B00center 4C 4C00 35354C00354C00right 4D 4D00 36 7400 364D00364D00+ e 4E 2B 2B 2B 2B 2B 2B end 4F 4F00 31 7500 314F00314F00down 50 5000 32325000325000pgdn 51 5100 33 7600335100335100ins 52 5200 30305200305200del 53 5300 2E 2E 53002E 5300 Table 91: Keyboard Codes (in hex)Key Scan Code ASCII Shift aCtrl Alt Num Caps Shift Caps Shift Num KeyScan CodeASCII ShiftCtrl AltNum Caps Shift Caps Shift NumAppendix CPage 1354a. Addresses are all given in hexadecimalTable 92: Keyboard Related BIOS VariablesName Address a Size DescriptionKbdFlags1(modifierflags)40:17Byte This byte maintains the current status of the modifierkeys on the keyboard. The bits have the following mean-ings:bit 7: Insert mode togglebit 6: Capslock toggle (1=capslock on)bit 5: Numlock toggle (1=numlock on)bit 4: Scroll lock toggle (1=scroll lock on)bit 3: Alt key (1=alt is down)bit 2: Ctrl key (1=ctrl is down)bit 1: Left shift key (1=left shift is down)bit 0: Right shift key (1=right shift is down) KbdFlags2(Togglekeys down)40:18Byte Specifies if a toggle key is currently down.bit 7: Insert key (currently down if 1)bit 6: Capslock key (currently down if 1)bit 5: Numlock key (currently down if 1)bit 4: Scroll lock key (currently down if 1)bit 3: Pause state locked (ctrl-Numlock) if onebit 2: SysReq key (currently down if 1)bit 1: Left alt key (currently down if 1)bit 0: Left ctrl key (currently down if 1)AltKpd40:19Byte BIOS uses this to compute the ASCII code for an alt-Key-pad sequence.BufStart40:80Word Offset of start of keyboard buffer (1Eh). Note: this vari-able is not supported on many systems, be careful if youuse it.BufEnd40:82Word Offset of end of keyboard buffer (3Eh). See the noteabove.KbdFlags340:96Byte Miscellaneous keyboard flags.bit 7: Read of keyboard ID in progressbit 6: Last char is first kbd ID characterbit 5: Force numlock on resetbit 4: 1 if 101-key kbd, 0 if 83/84 key kbd.bit 3: Right alt key pressed if 1bit 2: Right ctrl key pressed if 1bit 1: Last scan code was E0hbit 0: Last scan code was E1hKbdFlags440:97Byte More miscellaneous keyboard flags.bit 7: Keyboard transmit errorbit 6: Mode indicator updatebit 5: Resend receive flagbit 4: Acknowledge receivedbit 3: Must always be zerobit 2: Capslock LED (1=on)bit 1: Numlock LED (1=on)bit 0: Scroll lock LED (1=on)AppendicesTable 93: On-Board Keyboard Controller Commands (Port 64h) Value (hex)Description20Transmit keyboard controller’s command byte to system as a scan code at port 60h.60The next byte written to port 60h will be stored in the keyboard controller’s command byte.A4Test if a password is installed (PS/2 only). Result comes back in port 60h. 0FAh means a password is installed, 0F1h means no password.A5Transmit password (PS/2 only). Starts receipt of password. The next sequence of scan codes written to port 60h, ending with a zero byte, are the new password.A6Password match. Characters from the keyboard are compared to password until a match occurs.A7Disable mouse device (PS/2 only). Identical to setting bit five of the command byte.A8Enable mouse device (PS/2 only). Identical to clearing bit five of the command byte.A9Test mouse device. Returns 0 if okay, 1 or 2 if there is a stuck clock, 3 or 4 if there is a stuck data line. Results come back in port 60h.AA Initiates self-test. Returns 55h in port 60h if successful.AB Keyboard interface test. Tests the keyboard interface. Returns 0 if okay, 1 or 2 if there is a stuck clock, 3 or 4 if there is a stuck data line. Results come back in port 60h.AC Diagnostic. Returns 16 bytes from the keyboard’s microcontroller chip. Not available on PS/2 systems.AD Disable keyboard. Same operation as setting bit four of the command register.AE Enable keyboard. Same operation as clearing bit four of the command register.C0Read keyboard input port to port 60h. This input port contains the following values: bit 7: Keyboard inhibit keyswitch (0 = inhibit, 1 = enabled).bit 6: Display switch (0=color, 1=mono).bit 5: Manufacturing jumper.bit 4: System board RAM (always 1).bits 0-3: undefined.C1Copy input port (above) bits 0-3 to status bits 4-7. (PS/2 only)C2Copy input pot (above) bits 4-7 to status port bits 4-7. (PS/2 only).D0Copy microcontroller output port value to port 60h (see definition below).D1Write the next data byte written to port 60h to the microcontroller output port. This port has the following definition:bit 7: Keyboard data.bit 6: Keyboard clock.bit 5: Input buffer empty flag.bit 4: Output buffer full flag.bit 3: Undefined.bit 2: Undefined.bit 1: Gate A20 line.bit 0: System reset (if zero).Note: writing a zero to bit zero will reset the machine.Writing a one to bit one combines address lines 19 and 20 on the PC’s address bus.Page 1355Appendix CPage 1356D2Write keyboard buffer. The keyboard controller returns the next value sent to port 60h as though a keypress produced that value. (PS/2 only).D3Write mouse buffer. The keyboard controller returns the next value sent to port 60h as though a mouse operation produced that value. (PS/2 only).D4Writes the next data byte (60h) to the mouse (auxiliary) device. (PS/2 only).E0Read test inputs. Returns in port 60h the status of the keyboard serial lines. Bit zero con-tains the keyboard clock input, bit one contains the keyboard data input.F x Pulse output port (see definition for D1). Bits 0-3 of the keyboard controller command byteare pulsed onto the output port. Resets the system if bit zero is a zero.Table 94: Keyboard to System TransmissionsValue (hex)Description00Data overrun. System sends a zero byte as the last value when the keyboard controller’s internal buffer overflows.1..5881..D8Scan codes for key presses. The positive values are down codes, the negative values (H.O.bit set) are up codes.83AB Keyboard ID code returned in response to the F2 command (PS/2 only).AA Returned during basic assurance test after reset. Also the up code for the left shift key.EE Returned by the ECHO command.F0Prefix to certain up codes (N/A on PS/2).FA Keyboard acknowledge to keyboard commands other than resend or ECHO.FC Basic assurance test failed (PS/2 only).FD Diagnostic failure (not available on PS/2).FE Resend. Keyboard requests the system to resend the last command.FF Key error (PS/2 only).Table 93: On-Board Keyboard Controller Commands (Port 64h) Value (hex)DescriptionAppendices Table 95: Keyboard Microcontroller Commands (Port 60h)Value (hex)DescriptionED Send LED bits. The next byte written to port 60h updates the LEDs on the keyboard. The parameter (next) byte contains:bits 3-7: Must be zero.bit 2: Capslock LED (1 = on, 0 = off).bit 1: Numlock LED (1 = on, 0 = off).bit 0: Scroll lock LED (1 = on, 0 = off).EE Echo commands. Returns 0EEh in port 60h as a diagnostic aid.F0Select alternate scan code set (PS/2 only). The next byte written to port 60h selects one of the following options:00: Report current scan code set in use (next value read from port 60h).01: Select scan code set #1 (standard PC/AT scan code set).02: Select scan code set #2.03: Select scan code set #3.F2Send two-byte keyboard ID code as the next two bytes read from port 60h (PS/2 only).F3Set Autorepeat delay and repeat rate. Next byte written to port 60h determines rate: bit 7: must be zerobits 5,6: Delay. 00- 1/4 sec, 01- 1/2 sec, 10- 3/4 sec, 11- 1 sec.bits 0-4: Repeat rate. 0- approx 30 chars/sec to 1Fh- approx 2 chars/sec.F4Enable keyboard.F5Reset to power on condition and wait for enable command.F6Reset to power on condition and begin scanning keyboard.F7Make all keys autorepeat (PS/2 only).F8Set all keys to generate an up code and a down code (PS/2 only).F9Set all keys to generate an up code only (PS/2 only).FA Set all keys to autorepeat and generate up and down codes (PS/2 only).FB Set an individual key to autorepeat. Next byte contains the scan code of the desired key.(PS/2 only).FC Set an individual key to generate up and down codes. Next byte contains the scan code of the desired key. (PS/2 only).FD Set an individual key to generate only down codes. Next byte contains the scan code of the desired key. (PS/2 only).FE Resend last result. Use this command if there is an error receiving data.FF Reset keyboard to power on state and start the self-test.Page 1357Appendix CPage 1358Table 96: BIOS Keyboard Support FunctionsFunction #(AH)Input ParametersOutput ParametersDescriptional - ASCII character ah - scan codeRead character. Reads next available character from the sys-tem’s type ahead buffer. Wait for a keystroke if the buffer is empty.1ZF- Set if no key.ZF- Clear if key avail-able.al - ASCII code ah - scan code Checks to see if a character is available in the type ahead buffer. Sets the zero flag if not key is available, clears the zero flag if a key is available. If there is an available key, this function returns the ASCII and scan code value in ax . The value in ax is undefined if no key is available.2al- shift flagsReturns the current status of the shift flags in al. The shift flags are defined as follows:bit 7: Insert toggle bit 6: Capslock toggle bit 5: Numlock toggle bit 4: Scroll lock toggle bit 3: Alt key is down bit 2: Ctrl key is down bit 1: Left shift key is down bit 0: Right shift key is down3al = 5bh = 0, 1, 2, 3 for 1/4,1/2, 3/4, or 1 second delaybl = 0..1Fh for 30/sec to 2/sec.Set auto repeat rate. The bh register contains the amount of time to wait before starting the autorepeat operation, the bl register contains the autorepeat rate.5ch = scan code cl = ASCII codeStore keycode in buffer. This function stores the value in the cx register at the end of the type ahead buffer. Note that the scan code in ch doesn’t have to correspond to the ASCII code appearing in cl . This routine will simply insert the data you provide into the system type ahead buffer.10hal - ASCII character ah - scan codeRead extended character. Like ah =0 call, except this one passes all key codes, the ah=0 call throws away codes that are not PC/XT compatible.11hZF- Set if no key.ZF- Clear if key avail-able.al - ASCII code ah - scan codeLike the ah=01h call except this one does not throw away keycodes that are not PC/XT compatible (i.e., the extra keys found on the 101 key keyboard).AppendicesPage 135912hal- shift flagsah- extended shift flagsReturns the current status of the shift flags in ax. The shift flags are defined as follows:bit 15: SysReq key pressedbit 14: Capslock key currently down bit 13: Numlock key currently down bit 12: Scroll lock key currently down bit 11: Right alt key is down bit 10:Right ctrl key is down bit 9: Left alt key is down bit 8: Left ctrl key is down bit 7: Insert toggle bit 6: Capslock toggle bit 5: Numlock toggle bit 4: Scroll lock togglebit 3: Either alt key is down (some machines, left only)bit 2: Either ctrl key is down bit 1: Left shift key is down bit 0: Right shift key is downTable 96: BIOS Keyboard Support FunctionsFunction #(AH)Input ParametersOutput Parameters DescriptionAppendix C Page 1360。