نمایش نتایج 1 تا 6 از 6

نام تاپیک: تبدیل کد اسکن به کد اسکی

  1. #1

    تبدیل کد اسکن به کد اسکی

    سلام.

    الگوریتم تبدیل کد اسکن به کد اسکی؟
    اگه کدش رو به زبان اسمبلی داشته باشید که چه بهتر.

    تشکر.

  2. #2

    Post نقل قول: تبدیل کد اسکن به کد اسکی

    سلام
    جدول اسکن کد وجود داره که برای هر نوع keyboard با هم فرق میکنه. انجا رو ببین:
    http://www.quadibloc.com/comp/scan.htm

    ولی به نطرم باید از WinAPI استفاده کنی. توی user32 چندتا تابع برای این کار هست که Layout صفحه کلید و اسکی کد کلید رو مشخص میکنه.
    GetKeyNameText
    GetKeyboardLayout
    GetKeyboardLayoutName

    من تا حالا مبدل اسمبلی برای این کار ندیدم.

    خوش باشین

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: تبدیل کد اسکن به کد اسکی

    الگوریتم تبدیل کد اسکن به کد اسکی؟
    اگه کدش رو به زبان اسمبلی داشته باشید که چه بهتر
    کد اسکن و اسکی هر کدوم جای خودشون رو دارند و معنی نداره که کد اسکن رو به اسکی تبدیل کنید.
    ولی در کل خواسته نرم افزاری شما چی هست؟
    اگر میخواهید بدانید که کدوم کلید کد اسکن داره و کدوم فقط میتونه اسکی باشه میتونید از وقفه 16h و تابع 0 استفاده کنید.

  4. #4

    نقل قول: تبدیل کد اسکن به کد اسکی

    کد اسکن و اسکی هر کدوم جای خودشون رو دارند و معنی نداره که کد اسکن رو به اسکی تبدیل کنید.
    آقاي خاكپور جسارت نباشه
    فكر كنم فقط جنبه تحقيق داشته تا ثابت شه ميشه از اسكن كد هم به اسكي رسيد يا مثلا استاندارد دلخواه گذاشت!
    الگوریتم تبدیل کد اسکن به کد اسکی؟
    شدني هست چون اسكن كد در ah قرار ميگيره


    mov ah, 00h
    int 16h

    mov dl,ah
    mov ah,02h
    int 21h

    وقتي نگاه كنيد متوجه ميشيد براي حروف كوچك و بزرگ عددي يكسان هست كه باز براي اين هم بايد قبلش متوجه بشي كليد شيفت يا كپس لاك فشار داده شده يا خير اگر فشرده شده حروف بزرگ نمايش داده شود در غير اينصورت كوچك
    ضمنا جدول اسكن كد و اسكي رو دوست عزيز BobiFX لينك گذاشتن ميبينيد!
    http://www.quadibloc.com/comp/scan.htm
    پس كلا بايد طبق اون جدول اين كار رو انجام بديد چون حروف يا اعداد پشت سر هم قرار ندارد نميشه مثلا با يك عدد جمع كرد براي همه اعداد جواب بدهد
    اين اسكن كد براي اين خوبه شما كاراكتر دلخواه رو نمايش بدي يا استاندارد هارو تغيير بدي
    ضمنا آقاي ghasem1990 من در تاپيك قبلي كه گذاشتين لينك كار با تمام وقفه هاي كيبورد رو گذاشتم كه انگار نگاه نكردين

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: تبدیل کد اسکن به کد اسکی

    وقتي نگاه كنيد متوجه ميشيد براي حروف كوچك و بزرگ عددي يكسان هست كه باز براي اين هم بايد قبلش متوجه بشي كليد شيفت يا كپس لاك فشار داده شده يا خير اگر فشرده شده حروف بزرگ نمايش داده شود در غير اينصورت كوچك
    اونوقت وقتی کلیدهای جهت نما فشار داده بشه از کجا معلوم بشه که کلید جهت نماست؟
    در حالت کلی برای اینکه تشخیص داده بشه که کلید توسعه یافته (مانند جهت نما ها) هست باید مقدار al را که در نتیجه استفاده از وقفه 16h و تابع 0 بدست می آید بررسی کنید اگر 0 باشد اونوقت ah حاوی کد اسکن هست.

  6. #6

    نقل قول: تبدیل کد اسکن به کد اسکی

    با سلام
    اونوقت وقتی کلیدهای جهت نما فشار داده بشه از کجا معلوم بشه که کلید جهت نماست؟
    در حالت کلی برای اینکه تشخیص داده بشه که کلید توسعه یافته (مانند جهت نما ها) هست باید مقدار al را که در نتیجه استفاده از وقفه 16h و تابع 0 بدست می آید بررسی کنید اگر 0 باشد اونوقت ah حاوی کد اسکن هست.
    جناب خاكپور
    ah هميشه داراي اسكن كد هست كه متمايز هست براي هر كليد اينكه نتيجه اسكي اين وقفه در al قرار ميگيره درست و چون اين كليد ها كنترلي هست مسلما اسكي مساوي با صفر هست اما شما به ah توجه نكرديد چون در ah به ازاي هر كليد اسكن كدي وجود دارد.
    براي كليد جهت نما در سيستم من(IBM)
    چپ 4B
    راست 4D
    بالا 48
    پايين 50

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •