উইন্ডোজ 10-এ নিয়ন্ত্রণ করতে মানচিত্রের ক্যাপস্লক


82

উইন্ডোজ 8-এ আমি রেজিস্ট্রি স্ক্রিপ্টটি ব্যবহার করে নিয়ন্ত্রণ করতে আমার ক্যাপসলক কীটি পুনরায় তৈরি করতাম

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

উইন্ডো 10 এ আপগ্রেড করার পরে, এটি আর কাজ করে না। এটা কিভাবে করা যাবে?


এটি কেবলমাত্র অন্য একটি Ctrl কীতে ক্যাপস লকটিকে পুনরায় তৈরি করুন Note আমি সেগুলি অদলবদল করতে চাই, সুতরাং আমি উপরের স্ক্রিপ্টটি টুইট করতে এখানে নির্দেশাবলী ব্যবহার করেছি: superuser.com/a/1202601/315584
jia103

উত্তর:


86

আবার বুট করার কথা মনে আছে? আমার কাছে ঠিক 7 এবং 8 এর মতো কাজ করার মতো মনে হচ্ছে।

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

9
আমার জন্য সমস্যাটি ছিল উইন্ডোজ 10 আপগ্রেড আমার ক্যাপস লক ম্যাপিংটিকে পুনরায় সেট করে । তবে এটি আবার একইভাবে শুরু করার পরে পুনরায় আরম্ভের পরে কাজ করা হয়েছিল।
জ্যাক ও'কনোর

38
আমার মতো আর কারও যদি ধাঁধাটির চূড়ান্ত টুকরো প্রয়োজন: উপরেরটি একটি নতুন পাঠ্য ফাইলে পেস্ট করুন, এটি .regএক্সটেনশন দিয়ে সংরক্ষণ করুন, রেজিস্ট্রিতে পরিবর্তনগুলি প্রয়োগ করতে ফাইলটিতে ডাবল ক্লিক করুন, তারপরে পুনরায় বুট করুন।
মাইক নিবলিং

4
আপনি কীভাবে এটি আবার ম্যাপ করবেন Caps Lock?
এহতেশ চৌধুরী

7
@ এহতেশচৌধুরি আপনি রেজিস্ট্রি কী, রিবুট, এবং ডিফল্ট আচরণের অধীনে "স্ক্যানকোড মানচিত্র" এন্ট্রি মুছতে পারেন।
বোজোলাইস

75

পাওয়ারশেলের মাধ্যমে কারও যদি এটি করা প্রয়োজন হয়:

$hexified = "00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00".Split(',') | % { "0x$_"};

$kbLayout = 'HKLM:\System\CurrentControlSet\Control\Keyboard Layout';

New-ItemProperty -Path $kbLayout -Name "Scancode Map" -PropertyType Binary -Value ([byte[]]$hexified);

প্রশাসক হিসাবে এটি চালান এবং পুনরায় বুট করুন।


16
একটি লিনাক্সের মতো "শেল অনুলিপি করুন এবং পেস্ট করুন" দেওয়ার উত্তর দিন!
মাইকেজটার

3
সিরিয়াসলি। আমি * initrc স্ক্রিপ্টগুলি মিস করছি। ধন্যবাদ।
স্টিউস্কয়ার্ড

6
আপনি স্যার, উইন্ডোজ আজ একটি সামান্য কম দু: খজনক অভিজ্ঞতা ব্যবহার করেছেন। তার জন্য, আমি আপনাকে ধন্যবাদ।
বাইনারিমসন

18

উইন্ডোজ,, ৮, বা ১০ এর যে কোনও কীতে যে কোনও কী ম্যাপ করতে আপনি শার্পকি ব্যবহার করতে পারেন এটি নিজেই রেজিস্ট্রি সংশোধন করার চেয়ে করণীয় অনেক সহজ এবং পরিষ্কার।

আশাকরি এটা সাহায্য করবে.


2
ক্যাপস লক টিপে ভাষা পরিবর্তন করতে আমি কি এটি ব্যবহার করতে পারি?
thanos.a

13

আমি ক্যাপস লক কী-এর জন্য সিটিআরএল প্রেরণ, সিটিআরএলসি কীটির জন্য ALT প্রেরণ, এবং ALT কীটির জন্য ক্যাপস লক প্রেরণ করতে নিম্নলিখিতটি ব্যবহার করি। সিটিআরএল "এ" এর বাম দিকে যেখানে Godশ্বরের ইচ্ছা ছিল, ALT SHIFT এর নীচে, এবং একেবারে অকেজো CAPS LOCK কী নিরাপদে টুকরো টুকরো করে ফেলেছে যেখানে এটির জন্য আমার কব্জিটি ভেঙে যেতে হবে।

Windows Registry Editor Version 5.00

; The hex data is in five groups of four bytes:
;   00,00,00,00,\    header version (always 00000000)
;   00,00,00,00,\    header flags (always 00000000)
;   04,00,00,00,\    # of entries (3 in this case) plus a NULL terminator line.
;                    Entries are in 2-byte pairs: Key code to send & keyboard key to send it.
;                    Each entry is in LSB, MSB order.
;   1d,00,3a,00,\    Send LEFT CTRL (0x001d) code when user presses the CAPS LOCK key (0x003a) 
;   38,00,1d,00,\    Send LEFT ALT (0x0038) code when user presses the LEFT CTRL key (0x001d) 
;   3a,00,38,00,\    Send CAPS LOCK (0x3A) code when user presses the LEFT ALT key (0x0038) 
;   00,00,00,00      NULL terminator

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,\
                   00,00,00,00,\
                   04,00,00,00,\
                   1d,00,3a,00,\
                   38,00,1d,00,\
                   3a,00,38,00,\
                   00,00,00,00

4
আমি সত্যিই মন্তব্য প্রশংসা করি। আমি সর্বদা ভাবতাম কোডগুলি কী বোঝায়। খুব উপকারী.
zaphodtx

3

এটি সিটিআরএল এবং ক্যাপস লক কীগুলি অদলবদলের স্ক্রিপ্ট:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00

2

আপনি CapsLock এ ভাষা ইনপুটটিকে পুনরায় তৈরি করতে lswitch ব্যবহার করতে পারেন ।

ইনপুট ভাষা, ব্যবহার: পরিবর্তন করতে যে কোনও কী ব্যবহার করুন lswitch [keycode]। কীকোড alচ্ছিক এবং প্রসঙ্গ মেনু কীতে ডিফল্ট। আর একজন ভাল প্রার্থী হ'ল 20 এর কীকোড সহ ক্যাপসলক কী।

lswitch 20

এটি অটোলোডে যুক্ত করুন।


এটি কাজ করে তবে ক্যাপস লক কার্যকারিতা হারিয়ে যায়। কীভাবে ক্যাপস লক কার্যকারিতাটি শিফট + ক্যাপস লক সংমিশ্রণে সংজ্ঞা দেওয়া যায় সে সম্পর্কে কোনও ধারণা?
thanos.a

2

এটি করার জন্য আমি অটোহটকি ব্যবহার করতাম।

খুব বেসিক আহ স্ক্রিপ্ট চালানোর জন্য আমার স্টার্টআপ ডিরেক্টরিতে একটি লিঙ্ক থাকবে:

Capslock::Ctrl

জিনিসটি হ'ল অটোহোটকি প্রশাসক হিসাবে চালিত হয় না তাই এটি বিশেষাধিকারযুক্ত উইন্ডোগুলিকে প্রভাবিত করবে না, যদি না আপনি উচ্চতর সুযোগ-সুবিধাগুলি সহ লগইনে স্ক্রিপ্টটি চালানোর জন্য স্টার্টআপ ডিরেক্টরিটির পরিবর্তে টাস্ক শিডিয়ুলার ব্যবহার না করেন। দ্বিতীয় সমস্যাটি হ'ল কখনও কখনও, ঘুম পুনরায় শুরু করার সময় স্ক্রিপ্টটি স্তব্ধ হয়ে যায়, তাই আপনার এটি পুনরায় লোড করার প্রয়োজন হতে পারে যা বিরক্তিকর।

অটোহটকি আরও জটিল কাজের জন্য ম্যাক্রো লেখার মতো আরও উপযুক্ত।


আমি অটোহোটকি সমাধানটি চেষ্টা করেছি এবং আমি এটির প্রস্তাব দিই না। আপনার অটোরপীটের গতি বেশি, দেরি কম হলে এটি ভাল কাজ করে না। এটি এক্সকিম্যাক্সের সাথেও ভালভাবে মেশে না, যা উইন্ডোজের প্রায় সর্বত্র ইমাকস কীগুলি কাজ করে।
রেব কেবিন

আমি ইমাস ব্যবহার করি না, লগইনে স্বয়ংক্রিয়ভাবে একটি .ahk ফাইল খুলি এবং এই সমাধানটি এখন পর্যন্ত সবচেয়ে সহজ এবং পোর্টেবল হিসাবে খুঁজে
পাই

2

অক্ষম সিস্টেটারাল টুলস বাক্সটি কেবল কন্ট্রোল - সিটিআরএল 2 কেপ.এক্সে সাথে ক্যাপস্লক পরিবর্তন করতে একটি ছোট প্রোগ্রাম সরবরাহ করে।


সুপার ব্যবহারকারীকে স্বাগতম দয়া করে পড়ুন কীভাবে সফ্টওয়্যারটি সুপারিশ করবেন তারপরে কমপক্ষে ন্যূনতম প্রয়োজনীয় তথ্য ( সাহসী আইটেমগুলি ) অন্তর্ভুক্ত করতে আপনার উত্তর সম্পাদনা করুন । এই তথ্য ব্যতীত পোস্টগুলি মুছে ফেলার বিষয় হতে পারে। অবদান রাখার জন্য ধন্যবাদ।
টুইস্টি ইম্পারসনেটর

1

যদি কোনও কারণে আপনি তৃতীয় পক্ষের সরঞ্জামগুলি চালনা করতে না চান তবে কিছুটা সি দিয়ে নিজেকে এটি করা সম্ভব, সুসাম পালের দুর্দান্ত উত্তরটির জন্য ধন্যবাদ , আমি নীচে স্নিপেটটি একসাথে রেখেছি।

এটি কার্যত একটি কী-লগার। এটি মূল প্রেসগুলি শোনায়, সেগুলি ক্যাপচার করে এবং ম্যাপিংয়ের বিষয়টি মাথায় রেখে কীবোর্ড ইনপুট তৈরি করে। এটি কাজ করার জন্য নীচের কনসোল অ্যাপ্লিকেশনটি চালানো দরকার।

আপনার এটি কোনওভাবে সংকলন করতে হবে। আমি msys2.org ব্যবহার করে pacman -S mingw-w64-x86_64-gccসংকলিত করেছি /mingw64/bin/gcc nocaps.c -o nocaps.exe

#include <stdio.h>
#include <windows.h>

HHOOK hook;

#define KEYCODE_CAPSLOCK 20
#define KEYCODE_LCTRL 162

LRESULT CALLBACK keyboardHook(int nCode, WPARAM wParam, LPARAM lParam)
{
    KBDLLHOOKSTRUCT *p = (KBDLLHOOKSTRUCT *) lParam;
    INPUT input = {.type = INPUT_KEYBOARD };

    printf("nCode=%d\t wParam=%d\t p->vkCode=%lu \t p->scanCode=%d\t\n", nCode, wParam, p->vkCode, p->scanCode);


    if (wParam == WM_KEYUP || wParam == WM_SYSKEYUP) {
        input.ki.dwFlags = KEYEVENTF_KEYUP;
    }

    if (p->vkCode == KEYCODE_CAPSLOCK && (p->flags & LLKHF_INJECTED) == 0) {
        input.ki.wVk = KEYCODE_LCTRL;
        SendInput(1, &input, sizeof (INPUT));
        return 1;
    } else if (p->vkCode == KEYCODE_LCTRL && (p->flags & LLKHF_INJECTED) == 0) {
        input.ki.wVk = KEYCODE_CAPSLOCK;
        SendInput(1, &input, sizeof (INPUT));
        return 1;
    }

    return CallNextHookEx(hook, nCode, wParam, lParam);
}

int main(int argc, char **argv)
{
    MSG messages;

    hook = SetWindowsHookEx(WH_KEYBOARD_LL, keyboardHook, NULL, 0);
    if (hook == NULL) {
        printf("Error %d\n", GetLastError());
        return 1;
    }

    printf("Mapping CAPSLOCK=>LCTRL and LCTRL=>CAPSLOCK..\n");
    while (GetMessage (&messages, NULL, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }
    return 0;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.