Theory
104 keys, અને તમે 40 વાપરો છો
Chirag ને customer નું bill બનાવતા જુઓ: એ એક વાર પણ નીચે જોતો નથી, આંગળીઓ દરેક key જાતે શોધી લે છે.
પછી એ તમને challenge આપે છે: "keys ગણો." Standard keyboard માં લગભગ 104 keys હોય છે. હવે ગણો કે તમે ખરેખર કેટલી વાપરો છો... કદાચ 40.
તો બાકીની 60 keys શા માટે છે? અને key દબાવો ત્યારે keyboard માંથી ખરેખર નીકળે છે શું? બંને સવાલ exam માં આવે છે, અને બીજો સવાલ સીધો ASCII સાથે જોડાય છે.
Theory
ઘંટડીઓવાળો hall
Keys ની નીચે circuits ની grid હોય છે. વિચારો કે એક hall છે જેમાં 104 doorbells લાગેલી છે અને બધાના wire એક જ guard સુધી જાય છે. કોઈ key દબાવતાં જ એનું circuit પૂરું થાય છે: guard ને (keyboard નો controller chip) બરાબર ખબર પડી જાય છે કે કઈ ઘંટડી વાગી, અને એ આગળ એનો number મોકલી દે છે. Keyboard ક્યારેય 'A' અક્ષર મોકલતું નથી; એ ફક્ત કહે છે "ફલાણી ઘંટડી વાગી", બાકીનું કામ software નું છે.
Theory
Exam માં label કરવાના zones
- Alphanumeric zone: letters, digits, punctuation, typewriter વાળો મુખ્ય ભાગ.
- Function keys F1 થી F12: shortcuts, જેનો અર્થ દરેક program પોતે નક્કી કરે છે (F1 = help, F5 = refresh).
- Numeric keypad: જમણી બાજુ calculator જેવો block, accountants નો માનીતો.
- Navigation keys: arrows, Home, End, Page Up/Down.
- Modifier keys: Shift, Ctrl, Alt; એકલી કંઈ type કરતી નથી, એ બીજી keys નો અર્થ બદલી નાખે છે.
- Special keys: Enter, Backspace, Esc, spacebar.
Theory
Press થી letter સુધી
એક keypress ની સફર:
press → key matrix બંધ થયેલું circuit પકડે છે → controller scan code મોકલે છે → OS એને character code સાથે map કરે છે → app ને 'A' મળે છે (ASCII 65)
એટલે જ એક જ keyboard software બદલતાં ગુજરાતી કે હિન્દી type કરવા લાગે છે: hardware ફક્ત એટલું કહે છે કે કઈ key દબાઈ; character કયો બનશે એ software નક્કી કરે છે.
અને QWERTY નો વિચિત્ર letter order? એ typewriter નો વારસો છે: એની jam થતી arms માટે common letter-pairs ને દૂર દૂર રાખવા પડતા. પછી ટેવે એને જીવતો રાખ્યો.
Quiz
તમે Shift દબાવો છો અને screen પર કંઈ દેખાતું નથી. તો પણ Shift ને input key કેમ કહેવાય?
- કારણ કે એ સાથે દબાયેલી બીજી key નો અર્થ બદલી નાખે છે
- કારણ કે મોટા ભાગનાં keyboards પર એ ખરેખર બગડેલી હોય છે
- કારણ કે એ ફક્ત games ની અંદર કામ કરે છે
- કારણ કે એ એક invisible character type કરે છે
Show the answer
કારણ કે એ સાથે દબાયેલી બીજી key નો અર્થ બદલી નાખે છે
Modifier keys (Shift, Ctrl, Alt) પોતાનો signal તો મોકલે જ છે, પણ એમનું કામ બીજી keys ને બદલવાનું છે: a માંથી A, 1 માંથી !. Screen પર કંઈ દેખાતું નથી કારણ કે એમનો અર્થ combination માં છે, એટલા માટે નહીં કે કંઈ થયું જ નથી. Modifier keys ને સાચી classify કરવી એ exam નો એક પાક્કો mark છે.
Think first
Wires જોડો
ASCII વાળા lesson સાથે જોડીને વિચારો: Shift દબાવીને A key દબાવો ત્યારે application સુધી છેલ્લે કયો NUMBER પહોંચે છે? અને Shift છોડી દો ત્યારે?
Show the answer
Shift સાથે: 65, capital A નો ASCII. Shift વગર: 97, નાનો a. બરાબર 32 નો ફરક, એ જ case gap જે તમે યાદ કર્યો હતો. બંને વખતે keyboard એ એક જ physical key નો code મોકલ્યો; OS એ modifier state જોઈને નક્કી કર્યું કે કયો character code જશે. Hardware કહે છે કઈ key; character કયો, એ software નક્કી કરે છે.
Watch out
Marks ક્યાં કપાય છે
"Keyboard computer ને letters મોકલે છે" એવું લખવું: એ codes મોકલે છે (scan codes, જે character codes સાથે map થાય છે). Shift/Ctrl/Alt ને "typing keys" કહેવી: એ modifiers છે. અને zone-labelling વાળા diagram માં students વારંવાર function keys અને navigation keys ઉલટાવી નાખે છે; F1-F12 ઉપરની row માં હોય છે.
Theory
Exam પછી પણ આ કેમ કામ લાગશે
આવતા semester માં C programming માં getchar() અને getch() તમને આ જ character codes આપશે, અને key વાંચવી કે character વાંચવો એ ફરક ત્યાં મહત્વનો બનશે. ત્યાં સુધી Chirag ની જેમ 5 shortcuts શીખી લો: Ctrl+C, Ctrl+V, Ctrl+Z, Ctrl+S, Alt+Tab. આ modifiers પોતાનું કામ બરાબર કરી બતાવે છે, અને આગળ આખી career માં દર અઠવાડિયે તમારા કલાકો બચાવશે.
Summary
Key takeaways
- Keyboard primary input device છે, આશરે 104 keys, નામવાળા zones માં વહેંચાયેલી.
- Zones: alphanumeric, function keys, numeric keypad, navigation, modifiers, special keys.
- દરેક press codes બનીને જાય છે: key matrix → scan code → character code (ASCII).
- Modifiers જાતે કંઈ type કરતી નથી; એ બીજી keys નો અર્થ બદલે છે (a → A).
- QWERTY layout typewriter નો વારસો છે.
- યાદ રાખવાની યુક્તિ: ઘંટડીઓવાળો hall; keyboard કહે છે કઈ ઘંટડી વાગી, letter ક્યારેય મોકલતું નથી.